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

1 阅读6分钟

4月月报

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

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

以下为月报详情:

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

指标数值
合并 PR 数53
贡献者数(按 PR 作者 GitHub 用户名去重)11
代码行变更+11636 / -15447
维度分布功能特性 25 / 架构改进 17 / Bug 修复 8 / 性能优化 3
文档变更(docs/ & README)+365 / -151(触达 18 个文件)
测试变更(src/test)+2834 / -1647(触达 143 个文件)

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

模块触达次数
dolphinscheduler-master13
dolphinscheduler-api13
dolphinscheduler-ui9
dolphinscheduler-task-plugin7
docs7

四个关键词,概括 4 月的技术主题

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/ITaskExecutionRunnableIWorkflowExecution/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 数与行级变更:

贡献者(GitHub)合并 PR 数+Lines-Lines
@SbloodyS2626327801
@njnu-seafish126115064
@ruanwenjun746542524
@norrishuang119580
@det101173319
@macdoor140927
@shrihari739612330
@CloudExtreme12234
@leocook11100