首页 > 其他分享 >Apache DolphinScheduler 3.2.1 版本发布:增强功能与安全性的全面升级

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

时间:2024-02-21 10:23:23浏览次数:30  
标签:task Fix DolphinScheduler when Improvement 3.2 Bug Apache fix

近期,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

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

标签:task,Fix,DolphinScheduler,when,Improvement,3.2,Bug,Apache,fix
From: https://www.cnblogs.com/DolphinScheduler/p/18024592

相关文章

  • Oceanbase3.2.4ForOracle_Docker搭建过程
    Oceanbase3.2.4ForOracle_Docker搭建过程背景快速搭建测试环境。docker的方式较为简单。并且便于进行相关的测试和维护工作。还总结了部分参数设置执行数据库创建注意事项:创建目录:mkdir-p/home/admin/oceanbase/mkdir-p/home/admin/logs/obproxymkdir-p/home......
  • 2023.2.19 LGJ Round
    A每道题有做出的时长\(t\),价值为\(k\),你需要求最大的\(c(c\in[0,1])\):若\(T=\sumt\),设一道题做出的时间为\(x\),那么分数为\(f(i,x,c)=k_i(1-\dfrac{cx}{T})\),在分数和最大的情况下,任意一种办法,使得每道题最终得分大小关系和价值大小关系一样。\(n\le2e5\).明显的二......
  • 2023.2 ~ 但不能请你喝咖啡
    1.the2nducup20G.Cola假设已经确定了LCP,那后面问一定是枚举LCP的下一位是什么,再往后的随便咋问都行。那就按照从小到大问LCP的下一位,再往后的从小到大排。这样问的次数就是逆序对数+1。问题变为统计逆序对数\(\leqm-1\)的\(n\)阶排列个数。于是答案就是\[\beg......
  • Apache HTTP Server、IIS反向代理设置
    ApacheHTTPServer在Apache中设置反向代理,需要使用 mod_proxy 和相关的模块,如 mod_proxy_http。以下是一个基本的配置示例:确保已经安装并启用了 mod_proxy 和 mod_proxy_http 模块。编辑Apache配置文件(通常是httpd.conf或者apache2.conf,取决于操作系统和Apache......
  • Apache DolphinScheduler数仓任务管理规范
    前言:大数据领域对多种任务都有调度需求,以离线数仓的任务应用最多,许多团队在调研开源产品后,选择ApacheDolphinScheduler(以下简称DS)作为调度场景的技术选型。得益于DS优秀的特性,在对数仓任务做运维和管理的时候,往往比较随意,或将所有任务节点写到一个工作流里,或将每个逻辑节点单独......
  • Unity 2022.3.20f1新功能,异步实例化预制体Object.InstantiateAsync
    今天查看Unity2022.3.20f1更新日志,发现新增了个异步实例化的功能,这个功能解决了Unity历史上实例化预制体卡顿的痛点,简直不要太爽。具体的API文档请点击跳转。做了个简单的实例化测试,实例化500*500个Cube,耗时9.2s。实例化过程之间不会卡顿,可以做其他事情,即便是在重度游戏加载场......
  • Apache DolphinScheduler中ZooKeeperCDH不兼容问题的解决方案
    背景看到ApacheDolphinScheduler社区群有很多用户反馈和讨论这块问题,针对不兼容的问题,不仅需要自己重新编译各一个新包,而且因为默认是使用zk-3.8的配置,所以会出现不兼容问题。使用zk-3.4配置即可适配3.4.x解决办法(一)切换到项目源码的根路径中执行mvncleanpackage-T1C-Pr......
  • 2023.2.17 LGJ Round
    A一个字符串,你要选最多的区间出来,满足两两不交,且右边的区间必须是左边区间的严格子串。\(n\le5e5\).注意到答案是\(\sqrtn\)级别的。那么我们设计一个dp,设\(f_{i,j}\)表示\([j,j+i-1]\)这个区间以及右边是否能选出\(i\)个。转移只需要检查大区间减去左端点/右端点......
  • 2023.2.16 LGJ Round
    A你有一个数组\(a\),初始为\(0\),你要使\(a_i\geh_i\),你可以把任意相邻两个\(a\),一个加一,另一个加二。问最少操作多少次。\(n,h\le1e6\)。B你需要求大小为\(n\)的环的个数,使得旋转后都不同。你可以选若干个点出来染上\(k\)个颜色中的一个,但是相邻两个点不能都能染颜......
  • 2023.2.15 LGJ Round
    A\(n\)个点,有\(m\)种操作\((w,l,r)\),代表贡献是\(w\),并消除\([l,r]\)的所有点。操作的条件是必须消除一个点,问最多的贡献是多少。\(n,m\le300\).考虑从小区间开始操作,不难联想到区间dp。\(dp_{i,j}\)代表\([l,r]\)都被消除的最大贡献。对于\(dp_{i,j}\),我们枚举......