Apache DolphinScheduler 3.2.1 版本发布:增强功能与安全性的全面升级

news2025/1/18 11:54:03

近期,Apache DolphinScheduler 社区激动地宣布 3.2.1 版本的发布。此次更新不仅着力解决了前一版本(3.2.0)中遗留的问题,而且引入了一系列的功能增强和优化措施。

file

原先的问题主要源于部分重要代码在发布过程中未能成功合并(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 | |

本文由 白鲸开源科技 提供发布支持!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1470195.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LabVIEW储氢材料循环寿命测试系统

LabVIEW储氢材料循环寿命测试系统 随着氢能技术的发展,固态储氢技术因其高密度和安全性成为研究热点。储氢材料的循环寿命是衡量其工程应用的关键。然而,传统的循环寿命测试设备存在成本高、测试效率低、数据处理复杂等问题。设计了一种基于LabVIEW软件…

深度学习系列59:文字识别

1. 简单文本: 使用google加的tesseract,效果不错。 首先安装tesseract,在mac直接brew install即可。 python调用代码: import pytesseract from PIL import Image img Image.open(1.png) pytesseract.image_to_string(img, lan…

Java的加密的字段模糊查询

Java的加密的字段模糊查询 1.对于加密字段查询不是很友好,但有这样的需求的,本文提供以下思路 2.如何对加密后的数据进行模糊查询 我整理了一下对加密的数据模糊查询大致分为三类做法,如下所示: 沙雕做法(不动脑思考…

k8s(4)

目录 负载均衡部署 做初始化操作: 每台主机添加域名 从 master01 节点上拷贝证书文件、各master组件的配置文件和服务管理文件到 master02 节点: 修改02配置文件kube-apiserver,kube-controller-manager,kube-scheduler中的IP&#xff1…

魔改Mac OS渗透测试工具箱!

简介 本工具箱为v1版本,由"森然"师傅进行二开。 通过Python进行调用,并实现图形化界面。 参考:狐狸工具箱,闲客工具箱 环境以及工具 综合了常用的几个工具 适配Mac、Windos、Linux用户 注意:自带的jav…

软件运维维保服务方案-套用模板

软件运维维保方案-套用模板 项目情况 1.1 项目背景简述项目的来源、目的和重要性。说明项目的规模、预算和预期目标。 1.2 项目现状分析当前系统/软件的运行状态、存在的问题和潜在风险。提供最近一次的维护报告或相关统计数据。服务简述 2.1 服务内容明确运维服务的具体内容&…

网站开发--Cookie 和 Session 的工作流程

💕"Echo"💕 作者:Mylvzi 文章主要内容:网站开发–Cookie 和 Session 的工作流程 一.Cookie和Session的基本概念 前言:HTTP协议是无状态协议 无状态协议就是指HTTP协议在传输的过程中不会保存上一次交互的状态信息,但是…

Linux之用户跟用户组

目录 一、简介 1.1、用户 1.2用户组 1.3UID和GID 1.4用户账户分类 二、用户 2.1、创建用户:useradd 2.2、删除用户:userdel 2.3 、修改用户 usermod 2.4、用户口令的管理:passwd 2.5、切换用户 三、用户组 3.1、增加一个用户组:groupadd 3.…

Makefile静态库动态库的构建和链接之工程实用篇

静态库和动态库的构建和链接 现有C工程目录结构如下&#xff1a; add.h int add(int a, int b);add.cpp #include "add.h"int add(int a, int b) {return ab; }main.cpp #include <iostream> #include "add.h"int main() {std::cout << a…

数据结构-二分搜索树(Binary Search Tree)

一,简单了解二分搜索树 树结构: 问题:为什么要创造这种数据结构 1,树结构本身是一种天然的组织结构,就好像我们的文件夹一样,一层一层的. 2,树结构可以更高效的处理问题 二,二分搜索树的基础 1、二叉树 2,二叉树的重要特性 满二叉树 总结: 1. 叶子结点出现在二叉树的最…

Python习题详解

练习&#xff1a; 1&#xff0c;计算100以内奇数的和 #计算100以内所有奇数的和 sum 0 # n 1 # while n < 100: # # sum sum n # sum n # # n n 2 # n 2 # print(sum) n 99 #求偶数时n 100 while n > 0:sum n# n n - 2n - 2 print(sum)2&#xff0c;打印直…

【多线程】多线程案例——单例模式详解(包含懒汉模式,饿汉模式)

单例模式 &#x1f334;饿汉模式&#x1f38d;懒汉模式&#x1f338;单线程版&#xff08;线程不安全&#xff09;&#x1f338;多线程版&#x1f338;多线程版(改进) ⭕总结 单例模式是校招中最常考的 设计模式之⼀. 啥是设计模式? 设计模式好⽐象棋中的 “棋谱”. 红⽅当头…

AtCoder ABC342 A-D题解

华为出的比赛&#xff1f; 好像是全站首个题解哎&#xff01; 比赛链接:ABC342 Problem A: 稍微有点含金量的签到题。 #include <bits/stdc.h> using namespace std; int main(){string S;cin>>S;for(int i0;i<s.size();i){if(count(S.begin(),S.end(),S[i…

多维时序 | Matlab实现基于VMD-DBO-GRU、VMD-GRU、GRU的多变量时间序列预测

多维时序 | Matlab实现基于VMD-DBO-GRU、VMD-GRU、GRU的多变量时间序列预测 目录 多维时序 | Matlab实现基于VMD-DBO-GRU、VMD-GRU、GRU的多变量时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 Matlab实现基于VMD-DBO-GRU、VMD-GRU、GRU的多变量时间序列预测…

书生·浦语大模型实战营第六节课作业

基础作业 python run.py --datasets ceval_gen --hf-path /root/model/Shanghai_AI_Laboratory/internlm2-chat-7b/ --tokenizer-path /root/model/Shanghai_AI_Laboratory/internlm2-chat-7b/ --tokenizer-kwargs padding_sideleft truncationleft trust_remote_codeTrue --m…

嵌入式软件分层设计的思想分析

“嵌入式开发&#xff0c;点灯一路发” 那今天我们就以控制LED闪烁为例&#xff0c;来聊聊嵌入式软件分层: ——————————— | | | P1.1 |-----I<|--------------<| | | | P2.1 |-------------/ ---------…

Seata分布式事务实战AT模式

目录 分布式事务简介 典型的分布式事务应用场景 两阶段提交协议(2PC) 2PC存在的问题 什么是Seata&#xff1f; Seata的三大角色 Seata AT模式的设计思路 一阶段 二阶段 Seata快速开始 Seata Server&#xff08;TC&#xff09;环境搭建 db存储模式Nacos(注册&配…

HTB-Bizness

一、信息收集 访问ip自动跳转域名&#xff0c;host绑定域名后访问 目录爆破 有一个登录目录&#xff0c;访问发现是apahce ofbiz登录页面 发现存在漏洞 二、漏洞利用 在github上找到了图形化利用工具 使用工具反弹shell 得到flag 三、权限提升 从本地利用python开启http服务…

远程连接服务器及可视化方法(Win和Linux)

1.win端 1、通过SSH连接至服务器 在window下&#xff0c;打开命令行提示符&#xff08;快捷键winr后输入cmd回车&#xff09; 在命令行中输入 ssh 服务器上的用户名192.168.50.204回车并输入服务器上的用户登录密码 至此&#xff0c;已成功通过SSH连接至服务器。 2、通过…

复旦大学EMBA联合澎湃科技:共议科技迭代 创新破局

1月18日&#xff0c;由复旦大学管理学院、澎湃新闻、厦门市科学技术局联合主办&#xff0c;复旦大学EMBA项目、澎湃科技承办的“君子知道”复旦大学EMBA前沿论坛在厦门成功举办。此次论坛主题为“科技迭代 创新破局”&#xff0c;上海、厦门两地的政策研究专家、科学家、科创企…