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

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-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/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
@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
@wcmolin 1 65 0
@Mrhs121 1 8 8

给读者的“落地建议”

  • 如果你在云原生部署:优先关注 Helm/Docker 相关修复(#18140/#18148/#18124 等),这类问题一旦踩到会直接阻塞上线。
  • 如果你关注稳定性:重点看 Master 超时事件链路相关 PR(#18063/#18128/#18001)与状态卡死修复(#18146)。
  • 如果你在做多引擎编排:关注 EMR Serverless 插件(#18069)与 SQL 资源文件能力(#18020)。
posted @ 2026-05-11 15:10  海豚调度  阅读(23)  评论(0)    收藏  举报