必看!Apache DolphinScheduler 4 月研发聚焦云原生、Master 可靠性等 4 大看点

当月,Apache DolphinScheduler 主干合并强度明显提升。
17784906852546b23c7f6f45544e1


点亮⭐️

https://github.com/apache/DolphinScheduler



点击蓝字 关注我们


本月报对 4 月份社区研发进行了整理统计,发现在这段时间, Apache DolphinScheduler 主干(dev)合并强度明显提升:一方面是云原生部署与插件生态的持续补齐,另一方面则是面向可维护性的大规模清理与重构。

统计口径:apache/dolphinscheduler 仓库在 2026-04-01 至 2026-04-30 期间 Merged 的 PR(共 53 个),并对每个 PR 提取“分支、合并时间、文件清单、行级 diff 统计”。

以下为月报详情:

一表读懂:4月到底合了多少东西


1778490701813b36c2179679bf988

本月触达最频繁的模块(按 PR “触达次数”统计):

17784907028750a776b25412975d8


四个关键词概括技术主题


1) 云原生部署:Helm/Docker 继续补齐“能跑起来”

4 月的部署相关工作有一个明显特征:不是追新功能,而是把用户在真实环境里最容易踩坑的地方逐一补上。

  • Helm Chart:升级 Zookeeper/PostgreSQL/MinIO Chart 版本,并修复 Helm 部署错误(#18122/#18123/#18124/#18148

  • Docker Compose:修复 compose 部署报错(#18140

  • 配置热加载边界:澄清并修正 ConfigMap 自动热加载配置的支持范围(#18162

2) Master 可靠性:把“超时/状态机”做成可测试的事件链路

调度系统最怕两件事:超时处理不一致导致状态漂移,以及缺少可回归的测试导致修了又坏。本月围绕超时做了三件关键事:

  • 增加工作流超时事件并处理(#18063
  • 移除处理超时事件时冗余的完成检查(#18128
  • 补充超时告警相关 IT 用例(#18001

这类改动对终端用户的直观价值是:同样的超时场景,系统更不容易“卡住”,也更不容易出现告警漏发/状态不一致。

3) 插件生态:EMR Serverless + SQL 任务能力增强

如果你在用 DolphinScheduler “统一编排多引擎任务”,4 月会更有感:

  • 新增 Amazon EMR Serverless 任务插件(#18069
  • SQL 任务支持从资源文件读取 SQL,并支持参数占位符(#18020
  • DataX:支持 writer 参数 batchSize#18192

4) 工程化治理:大规模清理 + 重命名,长期收益明显

4 月出现了不少“看起来像 chore,但其实是在降维护成本”的 PR:

  • 针对多个模块的 unused code 清理(#18134/#18164/#18165/#18169/#18153…
  • 接口命名重构:IWorkflowExecutionRunnable/ITaskExecutionRunnable IWorkflowExecution/ITaskExecution#18163
  • Lombok 注解简化代码(#18152

这类改动通常不会在 UI 上“立刻多一个按钮”,但会让后续迭代更快、Review 更容易、Bug 面更小。

精选PR


下面按“功能特性 / 性能优化 / Bug 修复 / 架构改进”分组列出本月最值得关注的 PR(每条均可在 GitHub 对应 PR 页面审计)。

功能特性

  • #18069 新增 Amazon EMR Serverless 任务插件(作者:@norrishuang,+1958 / -0)
    面向云上 Serverless 计算的任务类型补齐,适合希望把作业执行完全托管在云侧的团队。
  • #18138 监控页支持查看 Active Master/Worker 的运行中任务与工作流(作者:@ruanwenjun,+1086 / -258)
    运维视角更聚焦“这个节点现在跑什么”,减少排查成本。
  • #18020 SQL 任务支持从资源文件读取 SQL + 参数占位符(作者:@macdoor,+409 / -27)
    大 SQL 脚本可版本化管理,降低复制粘贴与误改风险。
  • #18192 DataX writer 参数新增 batchSize 支持(作者:@leocook,+110 / -0)
    典型“配置级增强”,对大吞吐场景更友好。

性能优化

  • #18152 Lombok 注解简化代码(作者:@SbloodyS,+244 / -4113)
    本质是“用更少的样板代码表达同样逻辑”,间接提升可读性与维护效率(删除行数大,属于集中清理型变更)。
  • #18128 Master 处理超时事件时移除冗余完成检查(作者:@njnu-seafish,+0 / -7)
    小改动但很“对症”:减少无意义检查,降低事件处理链路的复杂度。

Bug 修复

  • #18140 修复 Docker Compose 部署错误(作者:@SbloodyS,+41 / -134)
    直接影响“开箱即用”,对新用户/测试环境尤为重要。
  • #18146 修复 CONTINUE 失败策略下工作流实例 RUNNING 卡死(作者:@SbloodyS,+164 / -2)
    典型生产级问题:状态卡死会导致资源被占用、重跑困难。
  • #18183 修复 API 权限问题:用户可在未授权项目删除任务定义(作者:@ruanwenjun,+30 / -1)
    权限类问题优先级很高,建议所有用户关注并升级。
  • #18170 修复 OBS 存储子目录列表返回异常(作者:@CloudExtreme,+223 / -4)
    对接对象存储的用户会更有感。

架构改进

  • #18163 统一命名:IWorkflowExecutionRunnable/ITaskExecutionRunnable → IWorkflowExecution/ITaskExecution(作者:@ruanwenjun,+2000 / -2000)
    这类“对称改动”意味着 API 语义更清晰,后续扩展点更容易维护,但需要下游二次开发注意编译适配。
  • #18003 DSIP-95:补数场景下依赖功能完善(作者:@det101,+733 / -19)
    补数(Backfill)是调度系统的高频痛点,这类改动通常能显著减少“历史区间重跑不一致”的隐性成本。
  • #18124 Helm:升级 Zookeeper Chart 版本(作者:@SbloodyS,+1840 / -5)
    属于“云原生基础设施”方向的工程化投入。

贡献者榜单



按 PR 作者统计(不是 commit author),并汇总每位作者 PR 数与行级变更:

17784907088705a774a2e9750aba0

给读者的“落地建议”


  • 如果你在云原生部署:优先关注 Helm/Docker 相关修复(#18140/#18148/#18124 等),这类问题一旦踩到会直接阻塞上线。
  • 如果你关注稳定性:重点看 Master 超时事件链路相关 PR(#18063/#18128/#18001)与状态卡死修复(#18146)。
  • 如果你在做多引擎编排:关注 EMR Serverless 插件(#18069)与 SQL 资源文件能力(#18020)。




END




17784907093433b0af496dea826c2



用户案例


DolphinScheduler Agent开源Cisco Webex天翼云Zoom网易邮箱 每日互动 惠生工程作业帮 博世智驾蔚来汽车 长城汽车集度长安汽车思科网讯食行生鲜联通医疗联想新网银行兴业证券唯品富邦消费金融 自如有赞伊利当贝大数据珍岛集团传智教育BigoYY直播 拈花云科太美医疗深圳某智能制造企业
17784907093433b0af496dea826c2



迁移实战


Azkaban Ooize(当贝迁移案例)airflow (有赞迁移案例)Air2phin(迁移工具)Airflow
17784907093433b0af496dea826c2



最新发版消息



Apache DolphinScheduler 3.4.1 发布,新增任务分发超时检测
17784907093433b0af496dea826c2



加入社区


关注社区的方式有很多:

  • GitHub: https://github.com/apache/dolphinscheduler
  • 官网:https://dolphinscheduler.apache.org/en-us
  • 订阅开发者邮件:dev@dolphinscheduler@apache.org(向邮箱发送任意内容,收到邮件后回复同意订阅即可)
  • X.com:@DolphinSchedule
  • YouTube:https://www.youtube.com/@apachedolphinscheduler
  • Slack:https://join.slack.com/t/asf-dolphinscheduler/shared_invite/zt-1cmrxsio1-nJHxRJa44jfkrNL_Nsy9Qg

同样地,参与Apache DolphinScheduler 有非常多的参与贡献的方式,主要分为代码方式和非代码方式两种。

非代码方式包括:

完善文档、翻译文档;翻译技术性、实践性文章;投稿实践性、原理性文章;成为布道师;社区管理、答疑;会议分享;测试反馈;用户反馈等。

‍代码方式包括:

查找Bug;编写修复代码;开发新功能;提交代码贡献;参与代码审查等。

贡献第一个PR(文档、代码) 我们也希望是简单的,第一个PR用于熟悉提交的流程和社区协作以及感受社区的友好度。

社区汇总了以下适合新手的问题列表https://github.com/apache/dolphinscheduler/pulls?q=is%3Apr+is%3Aopen+label%3A%22first+time+contributor%22

优先级问题列表https://github.com/apache/dolphinscheduler/pulls?q=is%3Apr+is%3Aopen+label%3Apriority%3Ahigh

如何参与贡献链接https://dolphinscheduler.apache.org/zh-cn/docs/3.2.2/%E8%B4%A1%E7%8C%AE%E6%8C%87%E5%8D%97_menu/%E5%A6%82%E4%BD%95%E5%8F%82%E4%B8%8E_menu

如果你❤️小海豚,就来为我点亮Star吧!

https://github.com/apache/dolphinscheduler


1778490730371b9eaa4af790058a9


1778490731870b6464bafe7d1de40

你的好友小海豚拍了拍你

并请你帮她点一下“分享”