Kafka 社区周报 | 2026-W26

2026-06-22 ~ 2026-06-28

📢 公告 (1)

🗳️ 投票 (5)

💬 讨论 (10)

KIP-1327 Prevent Hot Data Loss on Partition Expansion for Latest Policy

20 条回复 · 5 位参与者

讨论主要围绕 KIP-1327 是否需要支持 Share Group 以及如何实现新分区检测机制展开。Andrew 指出 KIP-932 的实现缺陷并计划修复,认为 KIP-1327 对 Share Group 非必须;Jun 和 Chia-Ping 则讨论了 API 一致性、服务端分区分类逻辑及版本控制要求。作者黃竣陽已更新 KIP,并倾向于将 Share Group 的支持推迟到后续单独处理。

@Andrew Schofield: 发现 KIP-932 实现错误(新分区未初始化为 0)并计划修复,认为 Share Group 目前不支持正则订阅,因此无需强制纳入 KIP-1327。

@Jun Rao: 建议由服务端进行分区分类并在心跳响应中返回,避免向客户端暴露时间戳,同时指出数据格式变更需引入版本控制(MV/GV)。

@黃竣陽: 已根据反馈更新 KIP,为避免复杂的状态格式变更,倾向于将 Share Group 排除在本 KIP 范围之外。

初步确定 Andrew 将修复 KIP-932 的相关 bug,KIP-1327 将采纳服务端分区分类及版本控制方案,暂不将 Share Group 纳入本次改动范围。

[PR] MINOR: Move 4.0.2 and 3.9.2 to archived releases [kafka-site]

7 条回复 · 3 位参与者

该 PR 旨在将 Kafka 4.0.2 和 3.9.2 版本移至网站归档列表。审查过程中发现并修复了链接未指向归档地址的问题,作者随后按要求更新了相关版本的链接并提供了本地运行截图。

@mjsax: 指出移动版本信息时需同步更新所有链接指向 archive.apache.org,而非仅移动文本。

@JiayaoS: 根据反馈更新了 3.9.2、4.0.2 的链接,并主动修复了 4.2.0 和 4.3.0 的链接问题。

@chia7712: 要求提供本地运行截图验证效果,并建议补充更新 4.3.0 的链接。

作者已完成所有链接修正和截图验证,等待最终合并。

KIP-1313: Client instance ID in all request headers

6 条回复 · 2 位参与者

讨论主要围绕 KIP-1313 中如何在请求头引入 ClientInstanceId 以及处理版本兼容性问题。Jun Rao 提出了一个新的实现方案(升级 RequestHeader 至 v3 并升级所有 RPC 版本),Andrew Schofield 对此表示认同并更新了 KIP。双方还讨论了是否需要升级其他功能版本以及转发请求中 clientId 的处理细节。

@Jun Rao: 提出将 RequestHeader 升级至 v3 并引入 ClientInstanceId 作为标签字段,同时升级所有 RPC 版本,以此解决字段重复和未来扩展性问题。

@Andrew Schofield: 接受了新方案,确认 v3 与 v2 二进制兼容,并认为大部分功能版本(如 ShareVersion)不需要因此升级。

@Jun Rao: 指出转发请求中可能存在 clientId 为 null 影响配额管理的问题(JR35),并纠正了关于功能版本升级的描述(JR36)。

已根据新方案更新 KIP 文档。下一步需确认转发请求中 clientId 的保留策略,并厘清其他组件版本升级的必要性。

KIP-1357: Add broker side custom assignors for "streams" groups

4 条回复 · 5 位参与者

讨论主要围绕 KIP-1357(为 Streams 组添加代理端自定义分配器)的设计细节展开,作者已更新提案以简化配置。参与者重点讨论了自定义分配器的执行超时风险、配置降级处理策略以及命名规范。作者对大部分疑问进行了澄清,并采纳了部分命名修改建议。

@Alieh Saeedi: 询问是否有针对慢速或卡死分配器的超时保护机制,以及配置降级或移除时的具体行为。

@Lucas Brutschy: 建议与消费者分配器保持一致不设超时,但应在 KIP 中明确说明分配器作者需保证执行有界性。

@David Jacot: 建议将动态配置验证统一移至 Broker 端以避免混淆,并指出了接口名称重复的问题。

作者确认无超时机制且分配器需自行负责执行界限,解释了降级时忽略配置的逻辑,并同意修正命名不准确和拼写错误的问题。

[PR] MINOR: Add download info [kafka-site]

3 条回复 · 2 位参与者

本次讨论围绕 Kafka 官网添加 4.3.1 版本下载信息的 PR 展开。该 PR 主要更新了下载页面,将版本号从 4.3.0 升级至 4.3.1,并同步更新了发布日期和各类下载链接。最终该 PR 已被成功合并。

@bbejeck: 提交了 PR #888,旨在为 Kafka 4.3.1 版本添加下载信息。

@nileshkumar3: 审查了代码变更,涉及将下载页面的版本号更新为 4.3.1 并调整相应的发布日期和链接。

PR #888 已合并,Kafka 4.3.1 的下载信息已正式上线。

[PR] MINOR: Update docs for 4.3.1 release [kafka-site]

2 条回复 · 1 位参与者

本次讨论主要关于 Kafka 4.3.1 版本文档的网站更新。提交者开启了 PR #886 以添加更新后的文档,虽然对生成的 HTML 和 PR 的大小表示了疑虑,但最终该 PR 已被合并。

@bbejeck: 开启 PR #886 旨在添加 4.3.1 版本的更新文档。

@bbejeck: 指出虽然遵循了网站更新指令,但生成的 PR 体积过大,且对生成的 HTML 存有疑虑。

PR #886 已被成功合并,完成了文档更新。

KIP-1347: Overriding voter set on storage formatting

2 条回复 · 2 位参与者

讨论围绕 KIP-1347 的必要性展开,Paolo 澄清 Strimzi 具备稳定的网络身份机制,反驳了相关质疑。Luke 曾提议利用 bootstrap servers 替代该 KIP 方案以简化流程,但经调查发现该方案不可行并最终撤回。

@Paolo Patierno: 反驳 Strimzi 缺乏稳定网络身份的说法,指出其通过无头服务提供稳定的 DNS 名称。

@Paolo Patierno: 根据经验指出控制器重启时仍依赖 VotersRecord,认为该 KIP 提议具有实际意义。

@Luke Chen: 曾提议通过回退使用 controller.quorum.bootstrap.servers 来避免 voter set 覆盖,但随后承认该方案不可行并撤回。

Luke Chen 撤回了替代方案,排除了通过现有 bootstrap 机制绕过 KIP 的可能性,讨论回归至 KIP 原有方向。

[PR] MINOR: Add blog post and fix some trailing 4.3.0 references [kafka-site]

2 条回复 · 1 位参与者

该讨论主要关于 Kafka 网站的 PR #890,旨在发布 4.3.1 版本的博客文章并修正遗留的版本引用。提交者 bbejeck 发起了该请求,并在请求审查后最终将其合并。

@bbejeck: PR 内容包括添加 4.3.1 版本博客文章及更新旧的版本引用。

@bbejeck: 请求 nileshkumar3 对该 PR 进行审查。

PR #890 已被合并,网站更新完成。

[PR] Add GKN podcast to community podcasts [kafka-site]

1 条回复 · 2 位参与者

本次讨论关于将 GKN 播客添加到 Kafka 社区播客列表的 PR #884。维护者 mimaison 已合并该拉取请求,提交者 hevansDev 对此表示感谢。

@mimaison: 执行了合并 PR #884 的操作。

@hevansDev: 对维护者的合并工作表示感谢。

PR 已成功合并,GKN 播客已添加至社区列表,任务完成。

[PR] MINOR: Add a build image based on the official Hugo release binary [kafka-site]

1 条回复 · 1 位参与者

该 PR 旨在为 Kafka 网站构建引入一个基于官方 Hugo 二进制文件的新 Docker 镜像,以消除对外部个人镜像的依赖。作者基于 Alpine 构建并手动安装 Hugo v0.123.7,确保输出与现有构建一致,且目前作为不影响 CI 的可选路径。

@Owen-CH-Leung: 新增基于官方 Hugo 二进制文件的构建镜像,移除对外部个人镜像(如 hvishwanath/hugo)的依赖。

@Owen-CH-Leung: 由于官方 Hugo 镜像缺少 v0.123.7 版本,改为基于 Alpine 下载特定二进制文件构建。

@Owen-CH-Leung: 该变更为可选路径,输出与原构建逐字节一致,暂不改变 CI 行为或部署流程。

初步结论是先验证该官方二进制镜像的可用性,下一步计划是将构建和 CI 流程切换至新镜像。

🎫 JIRA (39)

本周新建 39 个 Issue

本周 JIRA 主要集中在 Kafka Streams 的状态存储增强(如只读实现和事务支持)以及 Share Group 功能的持续完善与修复。同时,社区还解决了生产者事务初始化、消费者协议处理及安全路径验证等方面的关键问题,并进行了部分代码重构与测试优化。