Flink 社区周报 | 2026-W13

2026-03-23 ~ 2026-03-29

📢 公告 (2)

🗳️ 投票 (3)

💬 讨论 (10)

FLIP-572: Introduce Flink-Kafka Transactions Management Tool

5 条回复 · 3 位参与者

Aleksandr Savonin 发起 FLIP-572 提案,建议引入独立的 CLI 工具来管理 Flink 作业异常终止后遗留的 Kafka 事务,以解决下游消费者被阻塞及数据丢失问题。讨论主要围绕该工具与现有 FLIP-511 恢复机制的区别、必要性以及存放位置展开,Aleksandr 解释了在作业彻底消失或 JVM 崩溃场景下手动干预提交数据的必要性。

@Aleksandr Savonin: 提出当 Flink 作业在 checkpoint 和 commit 之间意外终止(如 JVM 崩溃)时,现有机制无法处理,需通过 CLI 工具手动提交或中止事务以保留数据并解除下游阻塞。

@Hongshun Wang: 质疑 CLI 与 Flink Writer 重启恢复逻辑的重复性,建议将事务中止逻辑嵌入 Sink 关闭路径,并认为该工具应放在 flink-connector-kafka 仓库而非 Flink 核心发行版中。

@Shekhar Rajak: 询问是否可以通过在 Kafka 事务协调器端进行修复来解决问题,而不必专门为 Kafka 引入事务管理工具。

双方就工具的必要性达成一定共识,确认该工具作为现有恢复机制的补充,用于处理作业无法重启且需手动提交数据的场景;同时采纳建议,将该工具作为独立模块置于 flink-connector-kafka 仓库中。

FLIP-504: Blue/Green Deployments for Flink on Kubernetes - Phase 2 (WIP/Draft PR)

4 条回复 · 3 位参与者

讨论主要围绕 FLIP-504 第二阶段中 Gate 自动注入功能的实现进展。Sergio 成功通过 Java Agent 和 Instrumentation API 实现了无需用户修改代码即可注入 Gate 的机制,并已提交包含自动配置逻辑的 Draft PR。Ryan 和 Daniel 对该方案表示赞赏,并计划进行测试验证。

@Sergio Chong Loo: 成功利用 Java Agent 实现了 Gate 自动注入,支持在 Source 后或 Sink 前注入,用户无需修改管道代码。

@Sergio Chong Loo: 更新了 Draft PR,通过 Operator 自动注入 javaagent 标志和 init container,简化了用户配置。

@Daniel Rossos: 认为 Gate 自动注入的想法非常棒,计划本周测试 PR 并提供反馈。

Sergio 正在处理错误处理细节,Daniel 将测试 Draft PR,后续工作将基于测试反馈继续推进。

FLIP-569: Sunset the Stateful Functions (StateFun) Sub-project

2 条回复 · 3 位参与者

Martijn Visser 发起 FLIP-569 讨论,提议正式终止 Stateful Functions (StateFun) 子项目。该提议获得了社区成员的一致同意,所有回复者均投了赞成票。

@Martijn Visser: 提议正式终止 StateFun 子项目,并指出此前已有相关讨论。

@David Anderson: 表示赞成(+1),认为该决定虽令人遗憾但早该执行。

@Ramin Gharib / Jacky Lau / Samrat Deb: 均表示支持(+1)并感谢 Martijn 推动此事。

社区已达成共识,同意终止 StateFun 子项目。

FLIP-567: Introduce a ProcessTableFunction Test Harness

1 条回复 · 2 位参与者

讨论主要围绕 FLIP-567 提议的 ProcessTableFunction 测试工具展开,Samrat Deb 在支持该功能的同时,针对序列化验证、定时器去重、迟到数据处理及易用性等方面提出了详细的技术疑问。Mika Naylor 回应称将考虑集成序列化测试机制,确认工具会原生支持定时器去重,但表示迟到数据处理暂不在当前范围内。

@Samrat Deb: 建议测试工具应包含显式的序列化验证方法(如 snapshotState),以避免生产环境中因序列化失败导致的作业崩溃,并询问了定时器去重、RowKind 支持及 MetricGroup 注入等问题。

@Mika Naylor: 认同序列化验证的重要性,建议可通过快照机制或配置项强制执行序列化,并确认测试工具将原生处理定时器的去重逻辑。

@Mika Naylor: 指出关于迟到数据的处理机制目前不在该测试工具的范围内,但可作为后续的延伸目标。

双方就序列化验证和定时器去重逻辑达成初步共识,迟到数据处理暂不纳入当前计划。

FLIP-556 wiki edit permission question

1 条回复 · 2 位参与者

FLIP-556 提议者 dylanhz 发现无法编辑对应的 CWiki 页面,询问是否需要额外授权。Ramin Gharib 回复确认这是权限问题,但他本人无权授予编辑权限。

@dylanhz: 作为 FLIP-556 提议者,没有权限编辑已接受的提案 CWiki 页面。

@Ramin Gharib: 确认这是授权问题,但自己没有权限为 dylanhz 开通编辑权限。

问题已确认为权限不足导致,但尚未解决,需等待拥有更高权限的管理员协助。

extending the feature freeze date of Flink 2.3

0 条回复 · 1 位参与者

David Anderson 提议将 Flink 2.3 的功能冻结日期推迟两周(从 3 月 31 日至 4 月 14 日),以便完成 FLIP-547 和 FLIP-495 的代码审查与改进。该提议已在发布同步会议上讨论且无异议,现正式提交给社区讨论。

@David Anderson: 提议将 Flink 2.3 功能冻结日期从 3 月 31 日延后至 4 月 14 日。

@David Anderson: 延期是为了给 FLIP-547 和 FLIP-495 留出更多时间进行 PR 审查和改进。

@David Anderson: 该提议已在发布同步会议上讨论,未收到反对意见。

会议已初步达成一致,下一步等待社区反馈以最终确认延期。

[SUMMARY] Flink 2.3 release sync -- reviews needed for flaky test PRs

0 条回复 · 1 位参与者

本周的发布同步会议主要讨论了延长功能冻结期和修复不稳定测试的停滞 PR 问题。目前 CI 构建经常失败,虽然已有针对不稳定测试的修复 PR,但大多因等待审查而停滞数周。

@David Anderson: CI 构建因不稳定测试而频繁失败,相关修复 PR 已提交。

@David Anderson: 大多数修复 PR 已停滞数周,主要瓶颈在于等待审查。

发布经理正在联系相关工单,以协助推动这些停滞的 PR 审查进程。

[FLINK-39151] Hide warning about UnixOperatingSystemMXBean missing on Windows - request for review

0 条回复 · 1 位参与者

Piotr Przybylski 提交了一个旨在隐藏 Windows 系统上 UnixOperatingSystemMXBean 缺失警告的日志修复补丁。他请求社区指派该 Jira 工单并进行代码评审,希望能将其合入下一个 Flink 版本。

@Piotr Przybylski: 提交了一个小的日志修复补丁(PR #27662),解决了 Windows 上的特定警告问题。

@Piotr Przybylski: 请求社区指派 Jira 工单并启动评审流程。

@Piotr Przybylski: 目标是让该修复进入下一个 Flink 发布版本。

等待社区成员指派工单并对 PR 进行评审。

FLIP-568: Strict BYTES-to-STRING CAST with UTF-8 Validation Utilities

0 条回复 · 1 位参与者

讨论围绕 FLIP-568(带 UTF-8 验证的严格 BYTES 转 STRING 转换)展开,主要解决了关于 UTF-16 支持范围及内部 API 更新的问题。作者 Gustavo 明确表示 UTF-16 支持不在本次 FLIP 范围内,建议用户使用 DECODE 函数处理。目前讨论已结束,社区已正式启动投票流程。

@Sergey Nuyanzin: 询问是否应引入 UTF-16 相关函数,因为 Flink 也支持该编码。

@Gustavo de Morais: 解释 Flink 内部存储为 UTF-8,验证问题主要针对 UTF-8;UTF-16 用户应使用 DECODE 而非 CAST,因此 UTF-16 验证不在本次 FLIP 范围内。

@Xuyang: 支持独立更新内部 API,对提案表示 +1。

Gustavo 已宣布启动投票流程。

[FLINK-38697] TaskInformation blobs accumulate without cleanup causing storage exhaustion - request for review

0 条回复 · 1 位参与者

Piotr Rudnicki 针对 TaskInformation blobs 因未清理导致存储耗尽的问题(FLINK-38697)提交了修复补丁。作者请求认领该 JIRA 工单,并邀请社区审核相关的 Pull Request。

@Piotr Rudnicki: 已准备好修复代码并提交了 PR (#27726),请求被分配该 JIRA 任务。

下一步需要社区审核 PR 并确认任务分配。

🎫 JIRA (61)

本周新建 61 个 Issue

本周 JIRA 主要涉及连接器的功能增强与问题修复,特别是对 HTTP Connector 进行了多项改进(如重试支持、请求超时配置),同时也更新了 MySQL、StarRocks 和 Kafka 等连接器。SQL 与 Table API 方面增加了 SELECT * EXCLUDE 等新语法支持,并修复了多处查询与元数据相关的 Bug。此外,还包含部分核心功能的代码清理、文档一致性优化以及不稳定测试的修复工作。