Apache DolphinScheduler 3.2.1 版本发布:增强功能与安全性的全面升级
近期,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][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 |
本文由 白鲸开源 提供发布支持!
Apache DolphinScheduler 3.2.1 版本发布:增强功能与安全性的全面升级的更多相关文章
- KubeEdge 1.12版本发布,稳定性、安全性、可扩展性均带来大幅提升
摘要:2022年9月29日,KubeEdge发布1.12版本.新版本新增多个增强功能,在扩展性.稳定性.安全性上均有大幅提升. 本文分享自华为云社区<KubeEdge 1.12版本发布,稳定性. ...
- WorkflowAsCode 来了,Apache DolphinScheduler 2.0.2 惊喜发布
文章目录 前言 01 新功能 1 WorkflowAsCode 2 企业微信告警方式支持群聊消息推送 02 优化 1 简化元数据初始化流程 2 删除补数日期中的"+1"(天) 03 ...
- ThinkSNS+ alpha.2 版本发布,功能抢先看!【社交系统研发日记六】
今天的研发日记,我们不讲技术,我们来看看,社交系统TS+从今天开始全面内测开始,都发布了什么功能. 其实,alpha.1 早上打的 tag ,晚上因为增加了两个核心功能,所以又打了 alpha.2 t ...
- Apache Pulsar 2.6.1 版本正式发布:2.6.0 功能增强版,新增 OAuth2 支持
在 Apache Pulsar 2.6.0 版本发布后的 2 个月,2020 年 8 月 21 日,Apache Pulsar 2.6.1 版本正式发布! Apache Pulsar 2.6.1 修复 ...
- 论语音社交视频直播平台与 Apache DolphinScheduler 的适配度有多高
在 Apache DolphinScheduler& Apache ShenYu(Incubating) Meetup 上,YY 直播 软件工程师 袁丙泽 为我们分享了<YY直播基于Ap ...
- Apache DolphinScheduler 2.0.1 来了,备受期待的一键升级、插件化终于实现
✎ 编 者 按:好消息!Apache DolphinScheduler 2.0.1 版本正式发布! 本版本中,DolphinScheduler 经历了一场微内核+插件化的架构改进,70% 的代码被重构 ...
- Apache SeaTunnel (Incubating) 2.1.0 发布,内核重构、全面支持 Flink
2021 年 12 月 9 日,SeaTunnel (原名 Waterdrop) 成功加入 Apache 孵化器,进入孵化器后,SeaTunnel 社区花费了大量时间来梳理整个项目的外部依赖以确保整个 ...
- 英语词典Alpha版本发布说明
Alpha版本发布说明 功能: ·简洁的应用界面,不被无良的广告弹窗影响 ·功能直接,在需要查词时及时出现,没有每日一句精选文章等杀了你的流量,在学习过程中更加专注! ·采用金山词霸API,提供发音 ...
- Apache DolphinScheduler 3.0.0 正式版发布!
点亮 ️ Star · 照亮开源之路 GitHub:https://github.com/apache/dolphinscheduler 版本发布 2022/8/10 2022 年 8 ...
- 重构、插件化、性能提升 20 倍,Apache DolphinScheduler 2.0 alpha 发布亮点太多!
点击上方 蓝字关注我们 社区的小伙伴们,好消息!经过 100 多位社区贡献者近 10 个月的共同努力,我们很高兴地宣布 Apache DolphinScheduler 2.0 alpha 发布.这是 ...
随机推荐
- 淘宝二面:千万级数据中如何用Redis维护热点数据"?
MySQL里有千万条数据,但是Redis中只存10万的数据,如何保证redis中的数据都是热点数据? 我是小宋, 一个只熬夜但不秃头的Java程序员.关注我,带你轻松过面试.提升简历亮点(14个dem ...
- WPF/C#:数据绑定到方法
在WPF Samples中有一个关于数据绑定到方法的Demo,该Demo结构如下: 运行效果如下所示: 来看看是如何实现的. 先来看下MainWindow.xaml中的内容: <Window.R ...
- ENSP的VirtualBox虚拟网卡不能用
VirtualBox 安装好后本地会新建一个名为 "VirtualBox Host-Only Network" 的虚拟网卡,虚拟机可以通过这个虚拟网卡网卡和物理机通信.但ENSP有 ...
- 06-Python类与对象
什么是类 百度百科: 类是对象的抽象,对象是对客观事物的抽象. 用通俗的话来说: 类是类别的意思,是数据类型. 对象是类别下的具体事物. 也就是说: 类是数据类型,对象是变量. 比如: 自定义一种数据 ...
- 05-Python函数
函数定义与调用 函数由以下几个部分组成: 函数名 函数参数 函数体 返回值 定义一个函数: def showMyName(name): #定义函数 print(name) showMyName(&qu ...
- LangChain和Hub的前世今生
作为LLM(大模型)开发框架的宠儿,LangChain在短短几年内迅速崛起,成为开发者们不可或缺的工具.本文将带你探讨LangChain和LangChainHub的发展历程. 1. LLM开发框架的宠 ...
- python基础-数据容器的通用操作
五种数据容器的特性 列表list[] 元组tuple() 字符串str"" 集合set{} 字典dict{key:value} 元素数量 支持多个 支持多个 支持多 ...
- NEEPU Sec 2023 Misc 两题题记
GoingOn 题目描述 Keep going on channel 1 ;D 考察的是 midi lsb隐写 MIDI文件概述 CSV文件概述 midi转csv工具 midicsv 将 MIDI 文 ...
- SpringCloud学习篇
什么是SpringCloud Spring cloud 流应用程序启动器是基于 Spring Boot 的 Spring 集成应用程序,提供与外部系统的集成.Spring cloud Task,一个生 ...
- Mybatis ResultMap复杂对象一对一查询结果映射之association
Mybatis复杂对象映射配置ResultMap的association association:映射到POJO的某个复杂类型属性,比如订单order对象里面包含user对象 表结构 项目结构 pom ...