近期,Apache DolphinScheduler 社区冲动地发表 3.2.1 版本的公布。此次更新不仅着力解决了前一版本(3.2.0)中遗留的问题,而且引入了一系列的性能加强和优化措施。
原先的问题次要源于局部重要代码在公布过程中未能胜利合并(cherry-pick),加之这部分代码的合并过程较为简单,因而,3.2.1 版本基于 2024 年 2 月的 dev
分支代码, 剔除了一些不兼容的个性后公布。
全副 Changelog:https://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] 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 add end time (#15144)
- Bug 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 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)
- Bugserial_wait strategy workflow unable to wake up (#15270)
- BUG fix java task classpath (#15470)
- [Bug] [Audit log] Fix Audit log UI query error (#15427)
- Bug 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 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 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 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 Non-admin user can not query resource recursively (#15097)
- E2E 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 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 |
本文由 白鲸开源科技 提供公布反对!