
近日,Apache DolphinScheduler 3.4.3 正式发布。本次版本围绕调度、权限、安全、性能和稳定性等核心能力持续优化,并针对任务实例与工作流实例查询、API 权限控制、敏感信息保护、任务失败恢复等多个生产环境中的实际场景进行了改进和修复。此外,预计将在 3.5.0 版本添加调度补火策略,
作为面向复杂数据工作流场景的开源数据编排平台,Apache DolphinScheduler 持续通过社区协作完善调度与编排能力。3.4.3 进一步强化了平台在异常调度恢复、企业级权限管理以及大规模任务运行场景下的可靠性,为生产环境中的稳定运行提供更加扎实的基础。
查看 Apache DolphinScheduler 3.4.3 Release
强化权限控制,持续提升平台安全性
3.4.3 版本最亮眼的更新之一,是在权限控制方面的持续加强。
企业级数据平台通常涉及多个用户、项目、数据源以及工作流协作,因此清晰的权限边界是保障平台安全运行的重要基础。
3.4.3 对多个 API 的权限控制进行了进一步完善,包括用户列表访问、数据源授权列表、集群查询、工作流变更以及子工作流引用等场景,并对相关权限进行了统一和细化。
同时,本次版本进一步限制了非管理员用户的审计日志访问范围,使用户只能访问与自身权限相匹配的审计信息。此外,针对任务定义的数据源访问,也增加了相应的权限校验,进一步强化数据访问控制。
通过这些调整,DolphinScheduler 在用户、项目、工作流和数据源等多个层面形成更加清晰的权限边界,为企业多用户协作场景提供更加完善的安全保障。
敏感信息保护进一步加强
除了权限控制之外,3.4.3 也针对敏感信息保护进行了专项优化。
本次版本移除了 Worker 日志中的明文密码,并避免用户参数校验错误信息直接暴露原始密码,从日志输出和异常信息两个层面降低敏感信息泄露风险。
同时,版本还修复了 Sonar Token 泄露问题,并清理了部分无用代码,进一步提升项目整体的安全性和工程质量。
优化实例查询,提升大规模数据场景下的查询效率
随着工作流数量和任务实例不断增长,任务实例和工作流实例查询也成为生产环境中的高频操作。
针对这一场景,3.4.3 对相关查询进行了优化。其中,为任务实例和工作流实例查询增加了相应索引,包括 idx_project_submit_time 和 idx_project_start_time,同时优化 Mapper 查询逻辑,在列表查询中排除不必要的大文本字段。
这些优化能够减少查询过程中的数据读取和数据库压力,在任务实例规模较大的场景下进一步改善查询效率和平台使用体验。
完善任务失败恢复与重试机制
任务失败后的恢复能力直接影响数据任务的连续运行。3.4.3 针对任务失败、重试和工作流恢复等场景进行了多项修复。
本次版本增加了任务故障转移时的应用终止处理逻辑,避免任务失败后相关应用仍处于运行状态;同时调整了任务重试时间计算,使任务按照 endTime + retryInterval进行下一次调度。
对于失败任务重新创建的场景,3.4.3 修复了运行时状态未正确重置的问题;在工作流恢复过程中,也进一步保证强制成功状态能够得到正确保留。
此外,本版本还修复了重新运行工作流时 Worker Group 参数未按指定值生效、任务暂停或终止时 TaskGroup slot 状态处理异常等问题,进一步提升异常场景下的任务恢复能力。
工作流依赖与执行逻辑持续完善
在工作流执行层面,3.4.3 对 DAG 和依赖任务进行了多项修复。
本次版本修复了 DAG.addEdge 在路径汇聚场景下可能接受形成环路的边的问题,进一步加强工作流 DAG 的正确性校验。
针对依赖任务,3.4.3 修复了 ALL 类型依赖任务的解析问题;同时解决了 Continue 策略下任务实例失败但工作流实例仍处于运行状态的问题,使复杂依赖关系下的工作流状态能够更加准确地反映实际执行情况。
此外,SQL 任务节点的数据源字段持久化、DataX 任务从关联资源文件读取 Job Definition、S3 资源列表超过 1000 条记录等问题也在本次版本中得到修复。
Kubernetes、告警及其他能力持续优化
在云原生部署方面,3.4.3 修复了 Helm Chart 中 ConfigMap 出现重复 app.kubernetes.io/name 标签的问题,并更新 MySQL Helm Chart 版本。
告警相关功能也进行了优化,包括 AlertServer 启动时冗余插件定义表检查的移除,以及 Alert Script 测试发送行为的调整。同时,针对 Kubernetes Alert HTTP 测试失败的问题,版本进行了相应修复。
此外,本次版本还清理了部分已经废弃的 API 和无用代码,并同步完善参数优先级、升级以及数据源和配置相关文档,进一步提升项目的维护性和使用体验。
调度补火策略将在3.5.0上线
在本次版本更新之外,社区也持续推进调度能力建设。DSIP-107 提出的调度补火策略已完成相关实现并合并至开发分支,计划随 3.5.0 版本进一步落地。该功能支持 SKIP_MISSED、FIRE_ONCE_NOW 和 FIRE_ALL_MISSED三种错过调度后的处理策略。
持续打磨企业级数据编排能力
从调度补火到权限控制,从查询性能优化到任务失败恢复,Apache DolphinScheduler 3.4.3 更加聚焦生产环境中的实际使用需求。
此次版本并非单纯增加功能,而是围绕数据工作流长期运行过程中涉及的调度可靠性、安全性、查询性能和任务稳定性持续进行优化。调度补火策略进一步完善了异常场景下的调度机制,细化的权限控制强化了企业多用户环境下的安全边界,而任务恢复、依赖处理和查询性能方面的优化,则进一步提升了平台在复杂生产环境中的运行质量。
具体各项更新不在赘述,查看 Release Note 了解详细更新信息。
致谢贡献者
Apache DolphinScheduler 3.4.3 的发布离不开社区贡献者的持续参与和共同建设。感谢以下共 20 位贡献者为本次版本贡献代码、提交 Issue、参与测试与评审,以及推动社区持续发展:
det101、wcmolin、liang-wenjie、njnu-seafish、qiuyanjun888、destinyoooo、HomminLee、ruanwenjun、kittimzhe、SbloodyS、eye-gu、vlaborie、nkuprins、nanxiuzi、SEPURI-SAI-KRISHNA、hiSandog、hellodml、zhang-arvin、nikhiln64、yan9651688
感谢每一位贡献者的投入与支持。正是来自全球社区的持续协作,让 Apache DolphinScheduler 能够不断完善调度、编排、安全与稳定性能力,并持续服务更多数据工程场景。
欢迎体验 Apache DolphinScheduler 3.4.3,并加入社区,共同推动开源数据编排生态持续发展!