Apache DolphinScheduler 3.2.1 版本發佈:增強功能與安全性的全面升級

来源:https://www.cnblogs.com/DolphinScheduler/p/18024592
-Advertisement-
Play Games

近期,Apache DolphinScheduler 社區激動地宣佈 3.2.1 版本的發佈。此次更新不僅著力解決了前一版本(3.2.0)中遺留的問題,而且引入了一系列的功能增強和優化措施。 原先的問題主要源於部分重要代碼在發佈過程中未能成功合併(cherry-pick),加之這部分代碼的合併過程較 ...


近期,Apache DolphinScheduler 社區激動地宣佈 3.2.1 版本的發佈。此次更新不僅著力解決了前一版本(3.2.0)中遺留的問題,而且引入了一系列的功能增強和優化措施。

file

原先的問題主要源於部分重要代碼在發佈過程中未能成功合併(cherry-pick),加之這部分代碼的合併過程較為複雜,因此,3.2.1 版本基於 2024年2月的 dev 分支代碼,剔除了一些不相容的特性後發佈。

全部 Changeloghttps://github.com/apache/dolphinscheduler/releases/tag/3.2.1

下載地址https://dolphinscheduler.apache.org/zh-cn/download/3.2.1

主要修複和功能增強

新特性和優化

  • SQL 任務現支持使用 druid 進行 SQL 分割,支持設置 maxRows
  • 支持自定義 HTTP body 渲染。
  • Kubernetes (k8s) 現支持自定義標簽 (label)。
  • 新增支持阿裡雲語音告警源。
  • Helm chart 現支持 JDBC 註冊中心;支持任務類型過濾。

關鍵問題修複

  • 修複從 3.1.x 升級到 3.2.x 的失敗問題。
  • 解決任務組件在使用資源中心時只能使用絕對全路徑的限制。
  • 修複啟動參數優先順序設置錯誤。
  • 解決數據質量任務無法執行的問題。
  • 修複任務組隊列失效問題。
  • 解決任務定義列表修改時任務消失的問題。
  • 修複特殊情況下刪除工作流實例導致的空指針異常(NPE)。
  • 解決 Master 和 Worker 之間的通信問題。
  • 修複 Kyuubi 數據源在 UI 中不顯示的問題。

安全性改進

此版本也對幾個關鍵的 CVE 問題進行了修複,包括:

  • CVE-2023-49250
  • CVE-2023-51770
  • CVE-2023-50270
  • CVE-2023-49068
  • CVE-2023-49109

BugFix

  • fix: Resource relate path invalid when tenant change (#15581)
  • [fix][worker]:Fix the issue of missing disk usage reporting information  in the worker (#15565)
  • [Fix] Fix WorkflowInstance batch start failed will throw incorrect exception. (#15577)
  • Fix create parent directory will cause FileAlreadyExistsException (#15576)
  • Fix Recover WorkflowInstance will casue workflow Instance state is success but task insatnce is killed/paused (#15574)
  • fix: data quality may fail in docker mode (#15563)
  • fix: start param for wf not work (#15544)
  • fix: ddl without drop exists (#14128)
  • fix switch js (#15487)
  • fix: data quality can not use (#15551)
  • Fix createFile with permission will not work (#15556)
  • [Bug][force-success] force success add end time (#15144)
  • [Bug][Task Api] fix 'MACPATTERN' in ProcessUtils and cover all cases on MacOS in ProcessUtilsTest (#15480)
  • Fix TaskGroupQueue will never be wakeup due to wakeup failed at one time (#15528)
    Exit JVM when OOM (#15538)
  • Fix exception occur in RpcServer side, it will not be sent to RpcClient (#15536)
  • front: When you edit a task in the task definition list, the front task list is displayed (#12819)
  • [Fix] [Bug] Change default version of Workflow/TaskDefinition to 1 (#15498)
  • [Bug] Fix a bug,  When the worker service offline, workerNodeInfo cache in master cannot delete the offline worker (#15459)
  • fix workflow will have same updatetime when import (#14810)
  • [BUG] #15013 Fix retryInterval in RetryPolicy will never be used in RetryUtils (#15014)
  • Throw IllegalArgumentException if parse time placeholder error (#15514)
  • Fix PostgresqlDatabaseContainerProvider get Image is incorrect (#15434)
  • [Bug][Api] Fix NPE when deleting a workflow instance (#15485)
  • Directly Throw exception when taskInstancy log path is empty which log need to be queried (#15511)
  • Fix notify failover WorkflowInstance will cause NPE (#15499)
  • [HotFix] Fix createTaskInstanceWorkingDirectory failed if the old path exist (#15377)
  • [bug] Exception when using host in ipv6 format (#14040)
  • [Bug][Master]serial_wait strategy workflow unable to wake up (#15270)
  • [BUG][Task] fix java task classpath (#15470)
  • [Bug] [Audit log] Fix Audit log UI query error (#15427)
  • [Bug][Registry] Optimizing waiting strategy (#15223)
  • Set TaskGroupQueue updateTime when force start (#15510)
  • TaskGroupPriority only compare When TaskGroup is same (#15486)
  • Remove taskQueue and looper in worker (#15292)
  • Display the resource file doesn't exist message in task create page (#15350)
  • Recreate new TaskInstance Working Directory when exist in worker (#15358)
  • [Bug] Close SSH session after remote shell finish (#15348)
  • Fix check value rather than key in AbstractDataSourceProcessor#checkOther (#15351)
  • Fix resource file usage(Delete Resource/ResourceUser which is deprecated)
  • [Bug][Master] send ACK event timeout (#15346)
  • Fix k8sTaskExecutionContext setting configYaml (#15116)
  • [Fix #15129] [Dependent] The date rules of the dependent node are ambiguous. (#15289)
  • Fix failover Master might not release taskGroup (#15287)
  • [HotFix] Fix TaskOutputParameterParser might OOM if meed a bad output param expression (#15264)
  • [Bug-15215][Api] non-admin should not modify tenantId and queue (#15254)
  • Set the tenant as the owner in final stage (#15256)
  • Use chown to set the file owner (#15240)
  • [Fix] Change HTTP plugin timeout param to number type (#15234)
  • fix switch condition (#15228)
  • Fix docs style is incorrect by CI pass (#15167)
  • Expire session when update user password (#15219)
  • Fix home page workflow instance miss status (#15193)
  • fix security issue (#15192)
  • fix can't stop bug (#15191)
  • Remove API Result in Service (#15181)
  • Exclude DataSourceAutoConfiguration in worker server (#15169)
  • [Bug] Fix TriggerRelationMapper cannot work due to miss DatabaseIdProvider (#15153)
  • Fix spotless (#15164)
  • Fix incorrect button display text (#15160)
  • [Fix][Data Quality] Change t_ds_dq_rule_input_entry field name fix PostgreSQL not support value issue (#14992)
  • fix missing 'KYUUBI' in droplist of datasource (#15140)
  • [Bug] Fix endless loop (#15092)
  • fix: execute sql error: datasource plugin 'doris' is not found。 (#15123)
  • Fix confusing constant string for unit convertor (#15126)
  • [fix-#11726] fix error when set connection proerty both in the URL and an argument (#15093)
  • [Fix-15072][Resource Center] Non-admin user can not query resource recursively (#15097)
  • [E2E][Bug] Fix k8s-e2e (#15098)
  • Fix SqlTask cannot split the given sql when browser in windows (#15062)
  • [Fix-15036] [API] Fix task definition edit doesn't work (#14801)
  • remove sub workflow finish notify (#15057)
  • Fix missing Kyuubi type in UI (#15051)
  • [Fix-14885][pom] fix spotless format file path (#14889)
  • Fix When the task instance status is 'STOP' (#14967)
  • Revert "[Bug] [Resource] fix resource delete bug (#15003)
  • [Bug] [Resource] fix resource delete bug (#15003)
    Delete File generated by UT (#15022)

Improvement

  • [Improvement][UT] Improve Worker registry coverage (#15380)
  • refactor comments & function name for confuse (#15546)
  • [Improvement][HTTP] support custom rendering of http body (#15531)
  • [improvement][api] Fix typo for controllers (#15438)
  • [Feature-15475][DinkyTask] DinkyTask supports Dinky-1.0.0 and common sql (#15479)
  • [Improvement][K8S]Optimize MDC for K8S tasks (#15390)
  • Enable set ServerLoadProtection fot Master/Worker (#15439)
  • [Feature] timed scheduler Improvement (#15449)
  • [Improvement][E2E] add e2e javatask case (#15469)
  • [Enhancement][API]Enhance mysql connection properties (#15433)
  • [Improvement][E2E]e2e improve  add workflow httpTask e2e case (#15420)
  • Add config for defaultTenantEnabled (#15391)
  • Use DefaultUncaughtExceptionHandler to log the uncached exception (#15496)
  • adjust the sequence of alarm group and add validate (#15382)
  • Use Druid to split sql (#15367)
  • optimize add select filter (#15378)
  • [Improvement][Helm] using helm-docs to generate docs automatically (#15299)
  • [Improvement][K8S] Custom label of a K8S task can be passed to the pod (#15369)
  • Optimize server startup log (#15362)
  • [Improvement][E2E] support e2e compose v2 fix code style (#15325)
  • [Improvement] Ensure that HttpUtils can only get result from certification URL (#15288)
  • delete debugger (#15316)
  • Set maxRows in SqlTask (#15342)
  • [Feature-15146][dolphinscheduler-task-sqoop] add sqoop source/target type (#15146)
  • [Feature-15248][dolphinscheduler-alert-plugins] add alert plugin aliyun-voice (#15248)
  • [Improvement-15260][dolphinscheduler-datasource-hana] add hana  related dependencies (#15260)
  • fail-fast for dependent check (#15197)
  • [Improvement] Move delay calculation to Master (#15278)
  • Add dolphinscheduler-extract-common module (#15266)
  • Support parse task output params under multiple log (#15244)
  • [Improvement-15009][Parameter] Change project parameter value to text (#15010)
  • Remove spring cache for dao (#15184)
  • [Improvement] Clean up Scheduler logic (#15198)
  • [Improvement][Alert] Add a test send feature when creating an alert instance (#15163)
  • [Improvement][Helm] support task type filter (#15179)
  • [Improvement][Resource Center] Display brief file name in file-details page (#15137)
  • [Improvement][Alert] Add timeout params for HTTP plugin (#15174)
  • [feature#14654] alert-spi support prometheus alertmanager (#15079)
  • [Improvement][K8S] Remove ResourceQuota (#14991)
  • [Improvement] Refactoring K8S task plugin with connections managed in connection center (#14977)
  • [DSIP-19] Support sagemaker connections in the connection center, as well as external connections to the connection center in sagemaker tasks (#14976)
  • [DSIP-19] Support zeppelin connections in the connection center, as well as external connections to the connection center in zeppelin tasks (#14434)
  • [Feature-14832][Listener]Implementation of Listener Mechanism (#14981)
  • Remove mapper usage in tools (#15073)
  • [Feature-14678][Master][UI]Dependent task parameter passing (#14702)
  • Add IT for mysql5/postgresql16 initialize/upgrade (#15063)
  • Add IT for dolphinscheduler-tools module (#15043)
  • Set kubectl version to v1.28.3 (#15053)
  • Add dolphinscheduler-dao-plugin module (#15019)
  • [improvement][Resources] Improve details page return to the previous list page (#14951)
  • [Improvement][Alert] Alert plugin enhance fail message (#15024)
  • [Improvement][Registry][Jdbc] Add jdbc registry config in helm charts (#14431)
  • [Improvement][Master] Calculate the remainTime then we set the delay execution. (#15012)

Document

  • [Doc][Docker] fix typo on start with docker (#15534)
  • [Doc] remove skywalking, update note (#15028)
  • Change download url in backend.yml (#15526)
  • [Doc][K8S] Add DS K8S Operator into k8s deployment character (#15516)
  • Add guideline link into DolphinScheduler mail list (#15447)
  • Remove unused cache-evict.png (#15220)
  • [Doc-15500][Task] Update cli opts of spark and flink (#15501)
  • doc write wrong,should be MinIO it's not MinION (#15395)
  • [Doc]remove temporary markdown comments (#15385)
  • doc: Classify docs to avoid misleading (#15282)
  • Add deploy on Terraform on README (#15189)
  • Modify the documentation that python task will not work properly when '\n' indicates the presence of a variable and needs to use 'repr(value)' (#15145)
  • [Docs] fix typo (#15032)

Chore

  • merge schema 330 into 321 and change docs (#15582)
  • Set the workflow instance ready state to running in failover (#15572)
  • cp: Reduce the size of tarball to continue ASF release (#15004)
  • chore: Docs change for 3.2.1 release (#15539)
  • [DS-15489][style]rename the vo object suffix (#15504)

致謝

感謝所有貢獻者的辛勤付出,特別是以下成員(排名不分先後):

致謝名單
AliceXiaoLu Gallardot clovelll
BaiJv John Huang davidzollo
CommandCV JohnZp dbac
Dyqer Orange-Summer destroydestiny
EricGao888 Radeity devosend
SbloodyS SusurHe fuchanghai
aiwenmo arlendp imizao
c3Vu caishunfeng imp2002
izualzhy kevinkelin lenboo
lgcareer liunaijie liyou
lizhenglei ly109974 pegasas
qingwli reele rickchengx
ruanwenjun sdhzwc sleo
tangjiaolong xdu-chenrj xinxingi
xjlgod xujiaqiang zhanqian
zhaohehuhu zhihuasu zhongjiajie
zhuangchong zhutong6688

本文由 白鯨開源 提供發佈支持!


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一:nacos https://nacos.io/docs/latest/what-is-nacos/ https://github.com/alibaba/nacos 二:consul https://developer.hashicorp.com/consul/docs?product_inte ...
  • 概述:MVVM Toolkit是.NET平臺的強大工具包,旨在簡化MVVM應用程式開發。提供基礎功能如ViewModelBase和RelayCommand,支持數據綁定和命令綁定,通過Messenger實現消息訂閱發佈。其高級功能包括ObservableObject和WeakEventListene ...
  • 概述:.NET中的IConfiguration介面提供了一種多源讀取配置信息的靈活機制,包括JSON、XML、INI文件和環境變數。通過示例,清晰演示了從這些不同源中讀取配置的方法,使配置獲取變得方便且易於擴展。這種方式適用於不同場景,如API密鑰、資料庫連接等,為應用提供了高度可配置性。 在.NE ...
  • Gif演示 分解步驟 1,使用組件DataGridView 2,使用DataSource來控製表格展示的數據來源(註意:來源需要是DataTable類型) 3,需要用到非同步線程。如果是不控制數據源的話,需要使用UI安全線程;(使用Control.Invoke或Control.BeginInvoke方 ...
  • 大家好,我是知微! 上一篇推薦的書單嵌入式軟體必讀10本書_單片機篇,收到反響很好。再推薦一篇嵌入式Linux相關的書單。 《鳥哥的Linux私房菜》 鳥哥的Linux系列適合零基礎小伙伴,從電腦基礎到文件系統、shell腳本等等,通俗易懂。作者寫作風格生動幽默,不拘一格。雖然書有點厚,但對於新手而 ...
  • Linux下MySQL的安裝與使用 安裝前說明 查看是否安裝過MySQL 如果你是用rpm安裝, 檢查一下RPM PACKAGE: rpm -qa | grep -i mysql # -i 忽略大小寫 檢查mysql service: systemctl status mysqld.service ...
  • 資料庫作為數據驅動業務創新和智慧銀行建設的關鍵基礎設施,在銀行數字化變革中具有舉足輕重的作用。 在金融科技發展和國家政策引領下,銀行紛紛加快推進數字化轉型時代,正在經歷一場以科技引領、數據賦能、數字經營為目標的智慧銀行數字化變革。資料庫作為數據驅動業務創新和智慧銀行建設的關鍵基礎設施,在銀行數字化變 ...
  • 本文分享自華為雲社區《面試必問 | 聊聊MySQL三大核心日誌的實現原理?》,作者:冰 河。 MySQL幾乎成為互聯網行業使用的最多的開源關係型資料庫,正因如此,MySQL也成為各大互聯網公司面試中必問的資料庫,尤其是MySQL中的事務實現機制和三大核心日誌的實現原理。 今天,我們就重點聊聊MySQ ...
一周排行
    -Advertisement-
    Play Games
  • 1、預覽地址:http://139.155.137.144:9012 2、qq群:801913255 一、前言 隨著網路的發展,企業對於信息系統數據的保密工作愈發重視,不同身份、角色對於數據的訪問許可權都應該大相徑庭。 列如 1、不同登錄人員對一個數據列表的可見度是不一樣的,如數據列、數據行、數據按鈕 ...
  • 前言 上一篇文章寫瞭如何使用RabbitMQ做個簡單的發送郵件項目,然後評論也是比較多,也是準備去學習一下如何確保RabbitMQ的消息可靠性,但是由於時間原因,先來說說設計模式中的簡單工廠模式吧! 在瞭解簡單工廠模式之前,我們要知道C#是一款面向對象的高級程式語言。它有3大特性,封裝、繼承、多態。 ...
  • Nodify學習 一:介紹與使用 - 可樂_加冰 - 博客園 (cnblogs.com) Nodify學習 二:添加節點 - 可樂_加冰 - 博客園 (cnblogs.com) 介紹 Nodify是一個WPF基於節點的編輯器控制項,其中包含一系列節點、連接和連接器組件,旨在簡化構建基於節點的工具的過程 ...
  • 創建一個webapi項目做測試使用。 創建新控制器,搭建一個基礎框架,包括獲取當天日期、wiki的請求地址等 創建一個Http請求幫助類以及方法,用於獲取指定URL的信息 使用http請求訪問指定url,先運行一下,看看返回的內容。內容如圖右邊所示,實際上是一個Json數據。我們主要解析 大事記 部 ...
  • 最近在不少自媒體上看到有關.NET與C#的資訊與評價,感覺大家對.NET與C#還是不太瞭解,尤其是對2016年6月發佈的跨平臺.NET Core 1.0,更是知之甚少。在考慮一番之後,還是決定寫點東西總結一下,也回顧一下.NET的發展歷史。 首先,你沒看錯,.NET是跨平臺的,可以在Windows、 ...
  • Nodify學習 一:介紹與使用 - 可樂_加冰 - 博客園 (cnblogs.com) Nodify學習 二:添加節點 - 可樂_加冰 - 博客園 (cnblogs.com) 添加節點(nodes) 通過上一篇我們已經創建好了編輯器實例現在我們為編輯器添加一個節點 添加model和viewmode ...
  • 前言 資料庫併發,數據審計和軟刪除一直是數據持久化方面的經典問題。早些時候,這些工作需要手寫複雜的SQL或者通過存儲過程和觸發器實現。手寫複雜SQL對軟體可維護性構成了相當大的挑戰,隨著SQL字數的變多,用到的嵌套和複雜語法增加,可讀性和可維護性的難度是幾何級暴漲。因此如何在實現功能的同時控制這些S ...
  • 類型檢查和轉換:當你需要檢查對象是否為特定類型,並且希望在同一時間內將其轉換為那個類型時,模式匹配提供了一種更簡潔的方式來完成這一任務,避免了使用傳統的as和is操作符後還需要進行額外的null檢查。 複雜條件邏輯:在處理複雜的條件邏輯時,特別是涉及到多個條件和類型的情況下,使用模式匹配可以使代碼更 ...
  • 在日常開發中,我們經常需要和文件打交道,特別是桌面開發,有時候就會需要載入大批量的文件,而且可能還會存在部分文件缺失的情況,那麼如何才能快速的判斷文件是否存在呢?如果處理不當的,且文件數量比較多的時候,可能會造成卡頓等情況,進而影響程式的使用體驗。今天就以一個簡單的小例子,簡述兩種不同的判斷文件是否... ...
  • 前言 資料庫併發,數據審計和軟刪除一直是數據持久化方面的經典問題。早些時候,這些工作需要手寫複雜的SQL或者通過存儲過程和觸發器實現。手寫複雜SQL對軟體可維護性構成了相當大的挑戰,隨著SQL字數的變多,用到的嵌套和複雜語法增加,可讀性和可維護性的難度是幾何級暴漲。因此如何在實現功能的同時控制這些S ...