
本月报对 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-master | 13 |
| dolphinscheduler-api | 13 |
| dolphinscheduler-ui | 9 |
| dolphinscheduler-task-plugin | 7 |
| docs | 7 |
四个关键词,概括 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/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 数与行级变更:
| 贡献者(GitHub) | 合并 PR 数 | +Lines | -Lines |
|---|---|---|---|
| @SbloodyS | 26 | 2632 | 7801 |
| @njnu-seafish | 12 | 611 | 5064 |
| @ruanwenjun | 7 | 4654 | 2524 |
| @norrishuang | 1 | 1958 | 0 |
| @det101 | 1 | 733 | 19 |
| @macdoor | 1 | 409 | 27 |
| @shrihari7396 | 1 | 233 | 0 |
| @CloudExtreme | 1 | 223 | 4 |
| @leocook | 1 | 110 | 0 |