
社区小伙伴们,Apache SeaTunnel 5 月份月报姗姗来迟啦!
据社区统计,2026 年 5 月
apache/seatunnel 仓库累计合入 87 个 PR。本月核心迭代方向为持续完善 Connector-V2,补齐各类细节,做到生产环境可用;深耕 Zeta 引擎,优化高可用、故障恢复、监控和测试;同时强化 CI 安全与回归测试,保障主干分支迭代效率。
本月报内容包含:

从数据上来看,本月更像“把能力做实”的月份:大量修复集中在 HA/恢复/边界条件/资源与内存风险/可观测等生产痛点。
这是本月最具“用户可感知”的连接器能力升级之一:把 HTTP Source 从“拉 JSON/text”扩展到“拉文件/二进制”。
从 PR patch 的变更摘要可直接验证(15 files changed, +758/-17):
format = "binary";binary_chunk_size(默认 10MB)对大文件拆分;(data: bytes, relativePath: string, partIndex: long);官方示例:
env {
parallelism = 1
job.mode = "BATCH"
}
source {
Http {
url = "http://example.com/files/report.pdf"
method = "GET"
format = "binary"
binary_chunk_size = 10485760
schema = {
fields {
data = bytes
relativePath = string
partIndex = long
}
}
}
}
sink {
LocalFile {
path = "/tmp/download"
file_format = "binary"
}
}
影响范围与升级建议:
format=text 不变,影响可控;但升级后建议用小流量验证下游 transform/sink 是否正确处理
bytes 类型字段。binary_chunk_size 把单次处理的峰值内存从“文件大小级别”压缩到“chunk 级别”,显著降低 OOM 风险(可用 RSS/GC 指标做量化验证)。
[Feature][Zeta] Implement proper dry-run mode with progressive validation layer0
工程价值:
本月的特性提交还体现为“控制面/可观测/边缘采集/开发者生态”的补齐:
STIP-24 Phase 1 EdgeSocket ingress(边缘采集 MVP)该 PR 的价值更偏“可运行性/兼容性”,但标题为 Improve+Upgrade,被归为“性能优化”类。
实现原理:
kudu-client 版本以减少与 Flink 1.15+ classpath 冲突风险;可复现实测口径(建议):
标题明确写出:
Reduce default reader_cache_queue_size from 1024 to 2 to prevent OOM
量化解读(可验证推导):
建议对比指标:
标题信息已给出影响范围:
affects BATCH / bounded source / job shutdown phase
此问题可能导致典型生产危害:
建议上线验证:
[Fix][Zeta] Fix path traversal vulnerability in log file REST API endpoints
建议运维动作:
../ 请求)。这些修复共同指向 Zeta 在 5 月显著加强“故障后恢复链路”的健壮性,尤其是节点失败后的 state 清理竞态与 restore 过程信息复用。
核心点:
format=binary 将 HTTP 响应体作为 raw bytes;binary_chunk_size 控制大文件拆分;对用户的直接价值:
风险与建议:
relativePath+partIndex 拼接/写入”的语义;建议优先配合官方提供的 binary file sink 或具备 bytes 写入能力的 sink。EXCLUDEDSQLite 的 upsert 语义要求在冲突更新时引用
EXCLUDED.<col> 而非
VALUES(<col>)。该 PR 把 SQL 拼接修正为:
- `col`=VALUES(`col`) + `col`=EXCLUDED.`col`
并新增单测做精确断言,降低回归风险。
单行 diff 却是高价值修复:
- loadStateResponse.getException() + queryResultsR.getException()
修复后错误信息更真实,避免排障路径走偏。
patch 显示测试从“真实 submitJob + 等待队列”改为“mock server + mock JobHistoryService + 构造 pendingJobDAGInfo”,减少非确定性因素,提升 CI 稳定性。
5 月 PR 大量属于兼容性修复、稳定性治理、默认参数安全性调整,并不一定自带 benchmark/JMH 报告。为了让结论可验证,建议按变更类型选择指标:
通用复现模板:
在五月的时光里,Apache SeaTunnel 项目能够蓬勃发展、功能日益强大,离不开每一位贡献代码的小伙伴。衷心感谢大家的辛勤付出与无私奉献,是你们用一行行代码,为项目注入了源源不断的活力!
以下为 5 月份贡献者名单:
| Rank | GitHub 用户名 | 合入 PR 数 | 主要贡献内容分类(计数) |
|---|---|---|---|
| 1 | nzw921rx | 18 | 功能特性×2; 性能优化×1; Bug 修复×6; 架构改进×9 |
| 2 | zhangshenghang | 12 | 功能特性×0; 性能优化×0; Bug 修复×8; 架构改进×4 |
| 3 | DanielLeens | 8 | 功能特性×0; 性能优化×0; Bug 修复×1; 架构改进×7 |
| 4 | CosmosNi | 8 | 功能特性×1; 性能优化×0; Bug 修复×6; 架构改进×1 |
| 5 | davidzollo | 5 | 功能特性×1; 性能优化×1; Bug 修复×1; 架构改进×2 |
| 6 | JeremyXin | 4 | 功能特性×0; 性能优化×0; Bug 修复×0; 架构改进×4 |
| 7 | CloverDew | 3 | 功能特性×1; 性能优化×0; Bug 修复×2; 架构改进×0 |
| 8 | zhiliang-wu | 2 | 功能特性×1; 性能优化×0; Bug 修复×0; 架构改进×1 |
| 9 | yzeng1618 | 2 | 功能特性×1; 性能优化×0; Bug 修复×1; 架构改进×0 |
| 10 | QuakeWang | 2 | 功能特性×0; 性能优化×0; Bug 修复×2; 架构改进×0 |
| 11 | dybyte | 2 | 功能特性×0; 性能优化×0; Bug 修复×2; 架构改进×0 |
| 12 | zhangqs0205 | 1 | 功能特性×0; 性能优化×0; Bug 修复×1; 架构改进×0 |
| 13 | yht0827 | 1 | 功能特性×0; 性能优化×0; Bug 修复×1; 架构改进×0 |
| 14 | suhyeon729 | 1 | 功能特性×0; 性能优化×0; Bug 修复×0; 架构改进×1 |
| 15 | siwen-yu | 1 | 功能特性×0; 性能优化×0; Bug 修复×1; 架构改进×0 |
| 16 | rucciva | 1 | 功能特性×1; 性能优化×0; Bug 修复×0; 架构改进×0 |
| 17 | ricky2129 | 1 | 功能特性×0; 性能优化×0; Bug 修复×1; 架构改进×0 |
| 18 | puneetdixit200 | 1 | 功能特性×0; 性能优化×0; Bug 修复×1; 架构改进×0 |
| 19 | NixonWahome | 1 | 功能特性×1; 性能优化×0; Bug 修复×0; 架构改进×0 |
| 20 | MyeoungDev | 1 | 功能特性×0; 性能优化×0; Bug 修复×0; 架构改进×1 |
| 21 | luciobvjr | 1 | 功能特性×1; 性能优化×0; Bug 修复×0; 架构改进×0 |
| 22 | lm-ylj | 1 | 功能特性×0; 性能优化×0; Bug 修复×1; 架构改进×0 |
| 23 | junjunclub | 1 | 功能特性×1; 性能优化×0; Bug 修复×0; 架构改进×0 |
| 24 | hyboll | 1 | 功能特性×0; 性能优化×0; Bug 修复×1; 架构改进×0 |
| 25 | HexMox | 1 | 功能特性×0; 性能优化×0; Bug 修复×1; 架构改进×0 |
| 26 | CriysHot | 1 | 功能特性×0; 性能优化×0; Bug 修复×0; 架构改进×1 |
| 27 | corgy-w | 1 | 功能特性×0; 性能优化×0; Bug 修复×1; 架构改进×0 |
| 28 | Chris79OG | 1 | 功能特性×0; 性能优化×0; Bug 修复×0; 架构改进×1 |
| 29 | chocoboxxf | 1 | 功能特性×0; 性能优化×0; Bug 修复×1; 架构改进×0 |
| 30 | chl-wxp | 1 | 功能特性×0; 性能优化×0; Bug 修复×0; 架构改进×1 |
| 31 | Anthippi | 1 | 功能特性×1; 性能优化×0; Bug 修复×0; 架构改进×0 |
| 32 | Adamyuanyuan | 1 | 功能特性×0; 性能优化×0; Bug 修复×1; 架构改进×0 |
(排名规则:按当月合入 PR 数降序;贡献分类为本文四象限分类的计数汇总。)
附录:2026 年 5 月全部合入 PR 清单(87 条)
下表按合入日期排序,逐条列出当月所有 merged PR(含标题、提交者、分类、模块),可帮助读者快速定位:
| 合入日期 | PR | 标题 | 提交者 | 分类 | 模块 |
|---|---|---|---|---|---|
| 2026-05-02 | 10827 | [Bug] [Zeta] Fix negative array size exception | lm-ylj | Bug 修复 | seatunnel-engine |
| 2026-05-03 | 10846 | [Chore] Reduce dev branch required approving reviews to 1 | DanielLeens | 架构改进 | other |
| 2026-05-04 | 10763 | [Feature][Zeta] Implement proper dry-run mode with progressive validation layer0 | junjunclub | 功能特性 | seatunnel-engine |
| 2026-05-05 | 10733 | [Chore][CI] Re-enable dead-link check job | zhangshenghang | 架构改进 | seatunnel-engine |
| 2026-05-05 | 10582 | [Fix][API] Support vector index in table schema config parsing | chocoboxxf | Bug 修复 | seatunnel-connectors-v2 |
| 2026-05-06 | 10824 | [Bugfix][Zeta]Fix the problem of scientific notation when restApi obtains read and write rate | chl-wxp | 架构改进 | seatunnel-engine |
| 2026-05-06 | 10557 | [Feature][Connector-V2][RabbitMQ] Support multi-table read for RabbitMQ source (#10425) | Anthippi | 功能特性 | seatunnel-connectors-v2 |
| 2026-05-06 | 10367 | [Fix][Connector-V2] Rename uniqueKeyFields to pkNames in dialect upsert APIs | corgy-w | Bug 修复 | other |
| 2026-05-06 | 10842 | [Fix][Zeta] Reuse job info during restore | zhangshenghang | Bug 修复 | seatunnel-engine |
| 2026-05-06 | 10712 | [Improve][Transform] Replace Transform to support array-based replace_fields | MyeoungDev | 架构改进 | seatunnel-e2e |
| 2026-05-07 | 10682 | [ Improve ][Docs] Improve Redshift sink connector documentation | davidzollo | 架构改进 | other |
| 2026-05-07 | 10848 | [Fix][Doc] Fix OpenAI API key documentation link | zhangshenghang | Bug 修复 | other |
| 2026-05-07 | 10845 | [BUG][Connector-V2][MaxCompute] Fix Maxcompute source split stategy | zhiliang-wu | 架构改进 | seatunnel-connectors-v2 |
| 2026-05-07 | 10836 | [Fix][Zeta] Job stuck permanently after master failover, unable to complete (affects BATCH / bounded source / job shutdown phase) | nzw921rx | Bug 修复 | seatunnel-engine |
| 2026-05-08 | 10566 | [Improve][MySQL-CDC] Enhance diagnostics for missing binlog and GTID during restore | zhangshenghang | 架构改进 | seatunnel-e2e |
| 2026-05-08 | 10817 | [Fix][Connector-V2][File] Respect custom filename for binary sink | zhangshenghang | Bug 修复 | seatunnel-connectors-v2 |
| 2026-05-08 | 10854 | [Improve][Docs] Add minimum deployment config and clarify backup-count N definition in Zeta separated cluster guide | nzw921rx | 架构改进 | other |
| 2026-05-10 | 10841 | [Fix][Zeta] Avoid telemetry collector blocking before CoordinatorService is ready | nzw921rx | Bug 修复 | seatunnel-engine |
| 2026-05-11 | 10862 | [Fix][Docs] Fix FAQ connector list links | zhangshenghang | Bug 修复 | other |
| 2026-05-11 | 10687 | [Fix][Zeta] Guard state cleanup races after node failure | zhangshenghang | Bug 修复 | seatunnel-engine |
| 2026-05-12 | 10875 | [Docs] Fix contributor guide dead links | DanielLeens | 架构改进 | other |
| 2026-05-12 | 10864 | [Fix][Docs] Add missing auth options to Chinese Elasticsearch sink docs and remove duplicate sections in English docs | CosmosNi | Bug 修复 | other |
| 2026-05-12 | 10857 | [Fix][Connector-V2] Fix Elasticsearch connector connection pool leak … | CosmosNi | Bug 修复 | seatunnel-connectors-v2 |
| 2026-05-12 | 10829 | [BugFix][connector-cdc-oracle] Fix table or view doesn't exist in multitables CDB+PDB mode | CriysHot | 架构改进 | seatunnel-connectors-v2 |
| 2026-05-12 | 10831 | [Feature][Connector-V2][MaxCompute] Support Schema Name and Passwordless Auth | zhiliang-wu | 功能特性 | seatunnel-connectors-v2 |
| 2026-05-12 | 10866 | [Improve][connector-clickhouse] Improved clickhouse source enumerator splits allocation algorithm for subtasks | JeremyXin | 架构改进 | seatunnel-connectors-v2 |
| 2026-05-13 | 10604 | [Feature][CDC/JDBC] Add option to disable sampling-based sharding | nzw921rx | 功能特性 | seatunnel-connectors-v2 |
| 2026-05-13 | 10762 | [Fix][Connectors-v2] Require explicit primary keys for Iceberg upsert mode | ricky2129 | Bug 修复 | seatunnel-connectors-v2 |
| 2026-05-13 | 10877 | [Fix][Zeta] Stabilize coordinator restore test | zhangshenghang | Bug 修复 | seatunnel-engine |
| 2026-05-13 | 10756 | [Fix][Connector-OBS] Upgrade okio to 3.6.0 to fix NoSuchFieldError: Companion | hyboll | Bug 修复 | seatunnel-connectors-v2 |
| 2026-05-13 | 10844 | [Feature][Connector-V2] Add optional Markdown RAG metadata for file source | yzeng1618 | 功能特性 | seatunnel-connectors-v2 |
| 2026-05-13 | 10628 | [Fix][Zeta] Fix path traversal vulnerability in log file REST API endpoints | davidzollo | Bug 修复 | seatunnel-engine |
| 2026-05-13 | 10861 | [Improve][Connector-V2][JDBC] Add string split strategy | zhangshenghang | 架构改进 | seatunnel-connectors-v2 |
| 2026-05-13 | 10830 | [Fix][Core] Fix enumerator re-registration synchronization | zhangshenghang | Bug 修复 | seatunnel-engine |
| 2026-05-14 | 10738 | [Fix][Connector-V2][MySQL] Preserve table comments, indexes, ENGINE, CHARSET, and COLLATE in auto-created tables | zhangshenghang | Bug 修复 | seatunnel-e2e |
| 2026-05-14 | 10865 | [Improve][Zeta] Refactor coordinator executor creation and fix failover lifecycle issues | nzw921rx | 架构改进 | seatunnel-engine |
| 2026-05-14 | 10884 | [Fix][Zeta] Fix IMap storage SPI registration lost during shade packaging | nzw921rx | Bug 修复 | seatunnel-engine |
| 2026-05-16 | 10892 | [Docs][Zeta] Fix incorrect config key name in slot-allocation-strateg… | suhyeon729 | 架构改进 | other |
| 2026-05-17 | 10390 | [Fix][Transform-V2][JsonPath] Fix date/time conversion error when mul… | yht0827 | Bug 修复 | other |
| 2026-05-17 | 10894 | [Fix][Connectors-v2] connector-typesense Not imported in seatunnel-dist | nzw921rx | Bug 修复 | other |
| 2026-05-17 | 10893 | [Bug] [Connector-V2] Fix Milvus sink collection_name target handling | puneetdixit200 | Bug 修复 | seatunnel-connectors-v2 |
| 2026-05-17 | 10860 | [Improve] [Zeta] Add observability metrics for engine state stores | JeremyXin | 架构改进 | seatunnel-engine |
| 2026-05-18 | 10898 | fix typesense add missing import for MULTI TABLESINK_REPLICA to pass… | nzw921rx | 架构改进 | seatunnel-connectors-v2 |
| 2026-05-18 | 10901 | Update collaborator chl-wxp to DanielLeens in .asf.yaml | DanielLeens | 架构改进 | other |
| 2026-05-20 | 10158 | [Fix][Flink] Cache writer states during commit preparation to fix streaming mode lost data. | Adamyuanyuan | Bug 修复 | other |
| 2026-05-21 | 10868 | [Improve][connector-milvus] Improved milvus source enumerator splits allocation algorithm for subtasks | JeremyXin | 架构改进 | seatunnel-connectors-v2 |
| 2026-05-21 | 10783 | [Improve][CI] Optimize changes job engine module calculation | davidzollo | 性能优化 | other |
| 2026-05-21 | 10716 | [Improve][Docs] Update docker-compose cluster setup to use service name discovery | DanielLeens | 架构改进 | other |
| 2026-05-22 | 10673 | [Improve][Zeta] Improve health metrics retrieval and parsing with enhanced logging | zhangshenghang | 架构改进 | seatunnel-engine |
| 2026-05-22 | 10885 | [Fix][Connector-V2] Fix MessageContentPartitioner static state causing cross-job partition routing interference | CosmosNi | Bug 修复 | seatunnel-connectors-v2 |
| 2026-05-22 | 10895 | [Improve][CI] Add connector dist registration completeness check | DanielLeens | 架构改进 | other |
| 2026-05-23 | 10902 | [Fix][Core] Fix SeaTunnel CLI reasoning replay for tool calls | yzeng1618 | Bug 修复 | other |
| 2026-05-23 | 10887 | [Build][Deps] Support JDK23 lombok annotation processing | DanielLeens | 架构改进 | other |
| 2026-05-23 | 10936 | [Docs] Fix dead issue link in connector common changelog | DanielLeens | 架构改进 | other |
| 2026-05-23 | 10648 | [Fix] [Connector-V2] Fix Flink schema evolution hang caused by XA transaction MDL deadlock with MySQL CDC | CloverDew | Bug 修复 | seatunnel-e2e |
| 2026-05-24 | 10940 | [Improve][e2e] Disable HTTP server in engine e2e tests to fix flaky test | nzw921rx | 架构改进 | seatunnel-engine |
| 2026-05-24 | 10941 | [Fix][Transform-V2] Prevent input row mutation in ReplaceTransform | dybyte | Bug 修复 | other |
| 2026-05-25 | 10937 | [Improve][e2e] Stabilize jdbc e2e assertions and waits | nzw921rx | 架构改进 | seatunnel-e2e |
| 2026-05-25 | 10896 | [Feature][Connector-V2][Cassandra] Add multi-table source support via… | NixonWahome | 功能特性 | seatunnel-connectors-v2 |
| 2026-05-25 | 10947 | [Improve][CI] Add CI changes step timeout of 20m | nzw921rx | 架构改进 | other |
| 2026-05-25 | 10948 | [Fix][E2E] Fix flaky jdbc-connectors-it-ddl tests with timeout tuning and DM wait strategy | nzw921rx | Bug 修复 | seatunnel-e2e |
| 2026-05-26 | 10706 | [Fix][Connector-V2][JDBC] Detect Hive partition keys in metadata | zhangqs0205 | Bug 修复 | seatunnel-connectors-v2 |
| 2026-05-26 | 10952 | [Fix][Connector-V2] Fix nested ROW type conversion crash in Paimon connector | CosmosNi | Bug 修复 | seatunnel-connectors-v2 |
| 2026-05-26 | 10184 | [Feature][Client] Python SDK Client for SeaTunnel REST API | luciobvjr | 功能特性 | other |
| 2026-05-26 | 10334 | [Feature][Connector-v2][Postgres-CDC] Allow replica identity other than full | rucciva | 功能特性 | seatunnel-connectors-v2 |
| 2026-05-27 | 10954 | [Fix][Kafka] Reduce default reader cachequeue_size from 1024 to 2 to prevent OOM | nzw921rx | Bug 修复 | seatunnel-connectors-v2 |
| 2026-05-27 | 10878 | [Feature][Zeta] STIP-24 Phase 1: Support lightweight EdgeSocket ingress for edge collector MVP | nzw921rx | 功能特性 | seatunnel-connectors-v2 |
| 2026-05-27 | 10934 | [Fix][Connector-V2][Jdbc][Dameng] Fix Dameng auto-create-table fails when table has column comments | siwen-yu | Bug 修复 | seatunnel-connectors-v2 |
| 2026-05-27 | 10922 | Split unrelated client summary and Pulsar E2E follow-ups from PR 10491 | davidzollo | 架构改进 | seatunnel-e2e |
| 2026-05-27 | 10491 | [Feature] Add stain trace for data lineage and performance analysis | davidzollo | 功能特性 | seatunnel-engine |
| 2026-05-27 | 10890 | [Feature][Connector-V2][SqlServer CDC] support sqlserver schema evolution | CloverDew | 功能特性 | seatunnel-connectors-v2 |
| 2026-05-27 | 10888 | [Fix][Connector-V2] Fix Paimon nested row write | QuakeWang | Bug 修复 | seatunnel-connectors-v2 |
| 2026-05-27 | 10859 | [Fix][CDC] Avoid replaying completed snapshot splits after restore | DanielLeens | Bug 修复 | seatunnel-connectors-v2 |
| 2026-05-28 | 10867 | [Improve][connector-starrocks] Improved starrocks source enumerator splits allocation algorithm for subtasks | JeremyXin | 架构改进 | seatunnel-connectors-v2 |
| 2026-05-28 | 10966 | [Fix][Connector-V2] Fix SMALLINT switch fall-through in Milvus source converter | CosmosNi | Bug 修复 | seatunnel-connectors-v2 |
| 2026-05-28 | 10932 | [hotfix] [docs] Add managed Kubernetes deployment notes | Chris79OG | 架构改进 | other |
| 2026-05-28 | 10946 | [Improve][e2e] Improve the stability of Kafka e2e testing | nzw921rx | 架构改进 | seatunnel-e2e |
| 2026-05-29 | 10970 | [Fix][Connector-V2][SqlServer CDC] Fix SQL Server CDC DDL history query LSN boundary causing schema events to be lost | CloverDew | Bug 修复 | seatunnel-connectors-v2 |
| 2026-05-29 | 10454 | [Improve][connector-elasticsearch-v2] Add slicing support and e2e coverage for Elasticsearch source | CosmosNi | 架构改进 | seatunnel-connectors-v2 |
| 2026-05-30 | 10974 | [Improve][Connector-V2] Upgrade kudu-client from 1.11.1 to 1.15.0 | nzw921rx | 性能优化 | seatunnel-connectors-v2 |
| 2026-05-30 | 10972 | [Improve][e2e] Improve the stability of sftp e2e testing e2e | nzw921rx | 架构改进 | seatunnel-e2e |
| 2026-05-30 | 10971 | [Improve][e2e] Improve the stability of Kudu e2e testing e2e | nzw921rx | 架构改进 | seatunnel-e2e |
| 2026-05-30 | 10975 | [Fix][Connector-V2] Fix wrong exception reference in MilvusSourceReader query error handling | CosmosNi | Bug 修复 | seatunnel-connectors-v2 |
| 2026-05-30 | 10956 | [Feature][Connector-V2] Add binary format support for HTTP source connector | CosmosNi | 功能特性 | seatunnel-connectors-v2 |
| 2026-05-30 | 10880 | [Fix][SqliteDialect] Update upsert SQL syntax and add unit tests for … | HexMox | Bug 修复 | seatunnel-connectors-v2 |
| 2026-05-30 | 10891 | [Fix][Zeta] Fix flaky pending job info test | QuakeWang | Bug 修复 | seatunnel-engine |
| 2026-05-30 | 10853 | [Fix][CI] Pin azure/setup-helm to approved SHA | dybyte | Bug 修复 | other |
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70049562/viewspace-3173503/ ,如需转载,请注明出处,否则将追究法律责任。