2025年03月18日,Kafka 4.0.0发布。
以下是Kafka 4.0.0版本中解决JIRA问题的摘要,有关该版本的完整文档,入门指南以及关于该项目的信息,请参考Kafka官方文档,或kafka中文教程。
有关升级的注意事项:在升级你的集群之前,请仔细阅读此版本的升级文档。升级有关不兼容性和破坏性的变更,性能变化以及可能影响Kakfa生产的任何其他变化。
新功能
[KAFKA-15561] - 客户端支持新的基于 SubscriptionPattern 的订阅
[KAFKA-16658] - 在 4.0 中删除 `offsets.commit.required.acks` 配置(在 3.8 中弃用)
[KAFKA-17248] - 扩展 KIP-714,允许向客户端注册其他指标
[KAFKA-17693] - 删除 testCheckEarliestLocalTimestampVersion 和 testCheckLatestTieredTimestampVersion
[KAFKA-17885] - 允许客户端根据超时或错误代码重新启动
[KAFKA-18026] - 允许自定义处理器包装
改进
[KAFKA-6197] - 访问 Kafka Streams javadocs 有困难
[KAFKA-7302] - 从 Streams 文档中删除 Java7 示例
[KAFKA-8666] - 改进关于物化配置对象使用方法的文档
[KAFKA-8779] - 修复动态日志级别引入的不稳定测试
[KAFKA-9738] - 为 MockProcessorContext 中的 forwarded() 添加泛型类型参数
[KAFKA-12359] - 将 Jetty 更新至 11
[KAFKA-12770] - Gradle 构建:允许通过参数指定 CheckStyle 版本
[KAFKA-12872] - KIP-724:放弃对消息格式 v0 和 v1 的支持
[KAFKA-12894] - KIP-750:在 Kafka 4.0 中放弃对 Java 8 的支持(已在3.0)
[KAFKA-12895] - KIP-751:在 Kafka 4.0 中放弃对 Scala 2.12 的支持(在 3.0 中弃用)
[KAFKA-13588] - 我们应该整合 `changelogFor` 方法,以简化内部主题名称的生成
[KAFKA-14048] - 下一代消费者再平衡协议
[KAFKA-14552] - 假设服务器协议版本以 3.0 为基准
[KAFKA-14560] - 在 Kafka 4.0 中移除旧的客户端协议 API 版本 (KIP-896)
[KAFKA-14619] - KRaft 验证快照 ID 是否位于批次边界
[KAFKA-14934] - KafkaClusterTestKit 使 FaultHandler 可访问
[KAFKA-14995] - 自动化 asf.yaml 协作者刷新
[KAFKA-15549] - 提升 Swagger 依赖版本
[KAFKA-16096] - 在 Kafka 4.0 中放弃对 Java 11 的 Broker 和工具支持(在 3.7 中弃用)(KIP-1013)
[KAFKA-16143] - AsyncKafkaConsumer 的新 JMX 指标
[KAFKA-16164] - Pre-Vote 4.0 变更
[KAFKA-16181] - 使用 kafka-configs.sh 更新 Broker 配置时使用 incrementalAlterConfigs
[KAFKA-16368] - 更改各种配置的约束和默认值 - 第一部分
[KAFKA-16437] - 在 Kafka 4.0 中升级到 Jakarta 和 JavaEE 10 (KIP-1032)
[KAFKA-16508] - 如果输出主题不匹配,则无限循环存在
[KAFKA-16564] - 在核心模块中将 `Xlint` 应用于 Java 代码
[KAFKA-16617] - 为 `advertised.listeners` 文档描述添加 KRaft 信息
[KAFKA-16689] - 将 LogValidatorTest 移至存储模块
[KAFKA-16818] - 将事件处理相关的测试从 ConsumerNetworkThreadTest 移至 ApplicationEventProcessorTest
[KAFKA-16830] - 移除 Scala 版本格式化程序支持
[KAFKA-16863] - 考虑移除异常处理程序配置的 `default.` 前缀
[KAFKA-16899] - 重命名 MembershipManagerImpl 的 rebalanceTimeoutMs 以提高清晰度
[KAFKA-16908] - 使用 AbstractConfig 重构 QuorumConfig
[KAFKA-17010] - 移除 DescribeLogDirsResponse#ReplicaInfo
[KAFKA-17035] - 将调试日志添加到保留 cleanupLogs 方法中,以帮助解决问题
[KAFKA-17056] - 将生产者状态元数据模式转换为使用生成的协议
[KAFKA-17057] - 为 ProductionExceptionHandler 添加“重试”选项
[KAFKA-17087] - 弃用 TopicCommand 的 `delete-config`
[KAFKA-17099] - 使用发生处理异常的确切处理器节点名称改进进程异常日志
[KAFKA-17109] - 减少锁定失败的日志消息负载
[KAFKA-17128] - 删除 ZooKeeper 迁移后,使 node.id 不可变
[KAFKA-17137] - 确保管理 API 经过适当测试
[KAFKA-17151] - 检测线程泄漏时删除 waitForCondition
[KAFKA-17173] - 将所有配额获取器从 `KafkaConfig` 移至`QuotaConfigs`
[KAFKA-17175] - 删除接口 `BrokerNode` 和 `ControllerNode`
[KAFKA-17180] - 将 Gradle 从 8.8 升级到 8.10
[KAFKA-17185] - 确保创建单个 Logger 实例
[KAFKA-17200] - 启用 MM2 复制以“internal”后缀结尾的主题
[KAFKA-17222] - 删除 KafkaMetricsGroup 的子类
[KAFKA-17224] - 将 ForeachProcessor 设为内部
[KAFKA-17240] - 即使某个延迟操作抛出异常,也尝试完成所有 Purgatory 的延迟操作
[KAFKA-17253] - 删除 Joined 辅助类中泄漏的 getter 方法
[KAFKA-17275] - 将 ReplicatedCounter 移至测试范围
[KAFKA-17285] - 处理可关闭对象时,考虑使用 `Utils.closeQuietly` 替换 `CoreUtils.swallow`
[KAFKA-17314] - 修复拼写错误:`maxlifeTimeMs`
[KAFKA-17322] - 在协议指南中记录所需的请求和响应标头版本
[KAFKA-17323] - 在协议指南中记录 UINT16 和 COMPACT_RECORDS
[KAFKA-17327] - 在 kafka-configs.sh 中添加对组的支持
[KAFKA-17340] - Kafka Java SDK ConsumerConfig 描述文档不正确
[KAFKA-17359] - 添加测试并增强 Admin#describeConfigs 文档,以应对资源不存在的情况
[KAFKA-17370] - 将 LeaderAndIsr 从核心模块移至元数据模块
[KAFKA-17373] - 将 print.epoch 添加到 kafka-console-share-consumer.sh/kafka-console-consumer.sh
[KAFKA-17377] - 考虑在 AsyncKafkaConsumer#unsubscribe 中使用 defaultApiTimeoutMs
[KAFKA-17382] - 清理 config_property 的过期配置
[KAFKA-17384] - 移除工具中已弃用的选项
[KAFKA-17399] - 将 LambdaValidator 应用到代码库
[KAFKA-17409] - 移除 org.apache.kafka.clients.producer.RecordMetadata 已弃用的构造函数
[KAFKA-17416] - 添加 checkstyle 规则以抑制所有生成的代码
[KAFKA-17418] - 修复 junit.py 的 markdown 错误,原因是换行符
[KAFKA-17427] - 修复 StreamsConfig 中泄漏的 *_DOC 变量
[KAFKA-17428] - 添加重试机制,用于清理悬空的远程段
[KAFKA-17433] - 添加 CI 作业以运行单个测试 N 次
[KAFKA-17435] - 删除 use.incremental.alter.configs
[KAFKA-17437] - 将 commons-validator 从 1.7 升级到 1.9.0
[KAFKA-17461] - 将 .github/readme 移至 ./github/workflows/readme
[KAFKA-17465] - 重构 getMembersFromGroup 使其为非阻塞
[KAFKA-17494] - 在协议指南中记录消息结构
[KAFKA-17508] - 添加一些用于回退删除逻辑的保护措施
[KAFKA-17520] -调整 ducktape 版本的下限
[KAFKA-17525] - 在运行时修改客户端指标配置时,将 UnknownServerException 转换为 InvalidRequestException
[KAFKA-17534] - 允许在 MirrorSourceConnector 中禁用心跳主题复制
[KAFKA-17536] - 确保在“新”消费者与不兼容集群一起使用时,错误消息清晰易懂
[KAFKA-17561] - Kafka 流的 Operator 指标
[KAFKA-17566] - other.kafka 的下一步是什么
[KAFKA-17585] - `offsetResetStrategyTimestamp` 应该返回 `long` 而不是 `Long`
[KAFKA-17600] - 为 ConsumerRecords 添加 nextOffsets
[KAFKA-17610] - 删除已弃用的 alterConfigs
[KAFKA-17638] - 添加对 Java 的支持23
[KAFKA-17655] - 添加更改端到端镜像名称的示例
[KAFKA-17656] - 为 PartitionChangeBuilder 使用参数化日志记录
[KAFKA-17657] - 将“consumer-fetch-manager-metrics”替换为 groupName
[KAFKA-17658] - 将 BootstrapControllersIntegrationTest 移至 kafka.server
[KAFKA-17663] - 在 admin.internals.PartitionLeaderStrategy 中添加元数据缓存
[KAFKA-17686] - AsyncKafkaConsumer.offsetsForTimes() 失败并抛出 NullPointerException
[KAFKA-17695] - 清理 org.apache.kafka.common.test.TestUtils
[KAFKA-17709] - 删除 retry_zinc
[KAFKA-17717] -移除 ConfigUtils#translateDeprecatedConfigs
[KAFKA-17728] - 将缺失的配置 `replica-directory-id` 添加到 raft README
[KAFKA-17744] - 改进恢复状态时的状态更新日志
[KAFKA-17748] - 移除 scala-java8-compat
[KAFKA-17750] - 扩展 kafka-consumer-groups 命令行工具以支持新的消费者组
[KAFKA-17757] - 清理 JDK 11 下的代码示例
[KAFKA-17776] - 在套接字服务器中添加连接断开监听器
[KAFKA-17778] - 在连接关闭时清理客户端实例缓存
[KAFKA-17785] - Kafka 协议文档应包含标记字段信息
[KAFKA-17791] - Dockerfile 应使用 `requirements.txt` 来确保依赖项
[KAFKA-17802] - 将 bouncy-castle 从 1.75 更新至 1.78.1
[KAFKA-17803] - 协调 MockLog 和 KafkaMetadataLog `read` 实现中的差异
[KAFKA-17813] - 创建服务器连接 ID 类,封装用于生成的功能
[KAFKA-17816] - 将 `testRuntimeOnly RuntimeTestLibs` 添加到 `test-common-api` 模块
[KAFKA-17818] - 将 log4j.properties 添加到 test-common 和 test-common-api
[KAFKA-17841] - 在日志中使用占位符代替字符串连接
[KAFKA-17847] - 压缩遥测负载时避免额外的字节复制
[KAFKA-17864] - 确保协议中的所有字段都具有描述
[KAFKA-17867] - 考虑对 PushTelemetryRequest 使用零拷贝
[KAFKA-17873] - 为公共 API 中的所有包添加描述
[KAFKA-17874] - 修复文档中的 KRaft 指标名称
[KAFKA-17875] - 调整 KRaft 控制器数量建议
[KAFKA-17882] - 改进关于标记结构字段“默认值”的文档
[KAFKA-17893] - 支持 KTable 外连接中 ForeignKeyExtractor 参数中的记录键
[KAFKA-17903] - 删除 KafkaFuture#Function 和 KafkaFuture#thenApply
[KAFKA-17905] - 删除 BaseFunction 中使用 lambda 表达式的指定类型
[KAFKA-17906] - 从 build.gradle 中删除冗余的 sourceSets
[KAFKA-17917] - 转换 Kafka使用 KRaft 进行核心系统测试
[KAFKA-17919] - 恢复失败的 testShareGroups 测试
[KAFKA-17924] - 删除 `bufferpool-wait-time-total`、`io-waittime-total` 和 `iotime-total`
[KAFKA-17926] - 改进文档,解释为什么 max.in.flight.requests.per.connection 不应超过 5。
[KAFKA-17927] - 禁止用户将 `max.in.flight.requests.per.connection` 配置为大于 5
[KAFKA-17931] - 修改 README 文件中的 `specifying-test-retries` 部分
[KAFKA-17934] - 为消费者客户端添加基于时长的偏移重置选项
[KAFKA-17936] - 重构 SslTransportLayerTest#testDsaKeyPair 以避免跳过测试
[KAFKA-17947] - 更新currentLag()、pause() 和 resume() 用于在后台线程中更新 SubscriptionState
[KAFKA-17974] - 将 gradle 从 8.10 升级到 8.10.2
[KAFKA-17975] - 移除 ControllerQuorumVotersFutureManager
[KAFKA-17992] - 从 ClusterInstance 中移除 `getUnderlying` 和 `isKRaftTest`
[KAFKA-17997] - 移除已弃用的配置 log.message.timestamp.difference.max.ms
[KAFKA-18037] - 从 EmbeddedConnect 和 EmbeddedConnectCluster 中移除已弃用的方法
[KAFKA-18046] - 使用 Log4j2 时 CPU 使用率过高
[KAFKA-18049] - 将 Caffeine 版本升级到 3.1.1
[KAFKA-18050] - 将 CheckStyle 版本升级到10.20.2
[KAFKA-18059] - kafka-metadata-quorum.sh add-controller 子命令无法识别参数 --config
[KAFKA-18071] - 如果未使用订阅模式,则避免使用不必要的后台事件来刷新正则表达式
[KAFKA-18077] - 删除已弃用的 JmxReporter(String)
[KAFKA-18080] - 将 DelayedItem 替换为 Long 类型
[KAFKA-18093] - 删除已弃用的 DeleteTopicsResult#values
[KAFKA-18094] - 删除已弃用的 TopicListing(String, Boolean)
[KAFKA-18095] - 考虑在新的消费者协议下允许成员无需订阅即可加入
[KAFKA-18096] - 如果未匹配订阅模式,则允许新消费者在订阅模式后加入群组主题
[KAFKA-18130] - 删除 kafka.utils.VersionInfo
[KAFKA-18131] - 改进投票者日志
[KAFKA-18153] - 从 settings.gradle 中删除 jenkins 设置
[KAFKA-18159] - 从 SinkTask 中删除 onPartitionsRevoked 和 onPartitionsAssigned
[KAFKA-18181] - 重构 ShareConsumerTest
[KAFKA-18183] - ClusterInstance 的辅助函数在创建生产者/消费者时应使用字节数组而不是字节
[KAFKA-18184] - 从 build.gradle 中删除不必要的项目路径检查
[KAFKA-18195] - 在 Kafka Streams Broker 兼容性矩阵中输入“incompatible”,而不是将不兼容的部分留空
[KAFKA-18203] - 在 intellij idea 中添加 Java 版本部分自述文件
[KAFKA-18219] - 成功执行不干净的 Leader 选举后,使用 INFO 级别而不是 ERROR 级别
[KAFKA-18230] - 当活动控制器发生更改时,管理客户端将立即失败
[KAFKA-18237] - 将 3.7.2 版本添加到代码库
[KAFKA-18262] - 移除 DefaultPartitioner 和 UniformStickyPartitioner
[KAFKA-18264] - 删除 NotLeaderForPartitionException
[KAFKA-18289] - 删除 DescribeTopicsResult 的弃用方法
[KAFKA-18290] - 删除 FeatureUpdate 的弃用方法
[KAFKA-18291] - 删除 ListConsumerGroupOffsetsOptions 的弃用方法
[KAFKA-18292] - 删除 UpdateFeaturesOptions 的弃用方法
[KAFKA-18293] - 删除 org.apache.kafka.common.security.oauthbearer.secured.OAuthBearerLoginCallbackHandler 和 org.apache.kafka.common.security.oauthbearer.secured.OAuthBearerValidatorCallbackHandler
[KAFKA-18294] - 删除弃用的SourceTask#commitRecord
[KAFKA-18295] - 删除已弃用的 Partitioner#onNewBatch 函数
[KAFKA-18296] - 删除已弃用的 KafkaBasedLog 构造函数
[KAFKA-18338] - 将 log4j.yaml 添加到 test-common-api 并从 test-common 中删除未使用的 log4j.properties
[KAFKA-18340] - 将 Dockerfile 更改为使用 log4j2 yaml 而不是 log4j 属性
[KAFKA-18343] - 使用 java_pids 实现 pid
[KAFKA-18347] - 将 tools-log4j2.yaml 添加到配置中并从配置中删除未使用的 tools-log4j.properties
[KAFKA-18348] - 删除已弃用的 MockConsumer#setException
[KAFKA-18354] - 使用log4j2 API 重构 LogCaptureAppender
[KAFKA-18375] - 更新 LICENSE-binary
[KAFKA-18388] - test-kraft-server-start.sh 应使用 log4j2.yaml
[KAFKA-18396] - 在 KafkaDockerWrapper 中将 log4j1 配置迁移到 log4j2
[KAFKA-18422] - 添加 Kafka 客户端升级路径
[KAFKA-18465] - 删除早于 3.0-IV1 的 MetadataVersions
[KAFKA-18476] - KafkaStreams 应吞噬 TransactionAbortedException
[KAFKA-18484] - 为新的组协调器卸载提供更强大的异常处理
[KAFKA-18570] - 更新 Kafka Broker 启动期间日志加载指标的文档
[KAFKA-18579] - 添加文档中的 TransactionAbortableException 指令
[KAFKA-18601] - 假设服务器协议版本以 3.3 为基准
[KAFKA-18839] - 放弃对 Streams 中 Eager Rebalancing 的支持
[KAFKA-18849] - 在“min.insync.replicas”文档中添加“strict min ISR”
[KAFKA-18850] - 修复 org.apache.kafka.automatic.config.providers 文档
[KAFKA-18864] - 从稳定的公共接口中移除 Evolving 标签
[KAFKA-18868] - 在 num.replica.alter.log.dirs.threads 文档中添加“默认值”说明
[KAFKA-18869] - 在“更新线程配置”部分添加远程存储线程
[KAFKA-18876] - 4.0 文档 改进
Bug
[KAFKA-8116] - 为 Java11 添加 Kafka Streams 原型
[KAFKA-8366] - 正在删除的主题分区会显示在离线分区指标中
[KAFKA-8862] - 不存在分区的误导性异常消息
[KAFKA-9366] - 将 log4j 升级到 log4j2
[KAFKA-10812] - MirrorConnectorsIntegrationTest 中的工作进程未正常关闭
[KAFKA-12679] - 重新平衡正在恢复或正在运行的任务可能会导致目录与新创建的任务发生活锁
[KAFKA-12989] - MockClient 应遵循传递给 prepareUnsupportedVersionResponse 的请求匹配器
[KAFKA-14460] - 内存存储迭代器可能返回空值结果
[KAFKA-15072] - 不稳定的测试MirrorConnectorsIntegrationExactlyOnceTest.testReplicationWithEmptyPartition
[KAFKA-15203] - 移除对 Reflections 的依赖
[KAFKA-15344] - Kafka Streams 在提交偏移量时应包含消息 Leader epoch
[KAFKA-15524] - 不稳定测试 org.apache.kafka.connect.integration.OffsetsApiIntegrationTest.testResetSinkConnectorOffsetsZombieSinkTasks
[KAFKA-15892] - 不稳定测试:testAlterSinkConnectorOffsets - org.apache.kafka.connect.integration.OffsetsApiIntegrationTest
[KAFKA-15933] - 不稳定测试:testRestartReplication() - org.apache.kafka.connect.mirror.integration.MirrorConnectorsIntegrationTransactionsTest
[KAFKA-15935] - 不稳定测试:testRestartReplication() - org.apache.kafka.connect.mirror.integration.IdentityReplicationIntegrationTest
[KAFKA-15945] - 不稳定测试 - testSyncTopicConfigs() - org.apache.kafka.connect.mirror.integration.MirrorConnectorsIntegrationBaseTest
[KAFKA-16022] - AsyncKafkaConsumer 有时会报错“当前没有分区 {} 的分配”
[KAFKA-16248] - Kafka 消费者应该缓存 Leader 偏移范围
[KAFKA-16326] - Kafka Connect 无法找到 Quarkus 更新的 javax 依赖项3.X
[KAFKA-16346] - 修复不稳定的 MetricsTest.testMetrics
[KAFKA-16372] - max.block.ms 行为与 javadoc 和配置描述不一致
[KAFKA-16460] - 新的消费者在多个 consumer_test.py 系统测试中消费记录超时
[KAFKA-16576] - 新的消费者在 consumer_test.py 的 test_consumer_failure 系统测试中因断言失败
[KAFKA-16649] - 从 DynamicBrokerConfig.removeReconfigurable 中移除锁
[KAFKA-16900] - kafka-producer-perf-test 使用事务时报告错误。
[KAFKA-16985] - 即使中断,也确保消费者在关闭时尝试发送离开请求
[KAFKA-17040] - 未知遥测状态:关闭 AsyncKafkaConsumer 时抛出 TERMINATED
[KAFKA-17064] - 新的消费者分配应该在后台线程中更新分配
[KAFKA-17066] - 新的消费者 updateFetchPositions 应该在后台线程中执行所有操作
[KAFKA-17076] - 由于日志清理,logEndOffset 可能会丢失
[KAFKA-17094] - 可以列出已注册的 KRaft 节点,以便了解哪些节点应该注销
[KAFKA-17112] - StreamThread 关闭仅在 CREATED 状态下调用 completeShutdown
[KAFKA-17116] - 如果在关闭后收到成员 ID,新的消费者可能无法发送有效的离开组请求
[KAFKA-17154] - 新的消费者订阅者可以在没有调用 consumer.poll
[KAFKA-17181] - 修复写入快照时可能出现部分写入的问题 (ProducerStateManager)
[KAFKA-17182] - 使用 AsyncKafkaConsumer 时,消费者获取会话被驱逐过快
[KAFKA-17188] - LoginManager 构造函数可能会抛出异常,导致 login 和 loginCallbackHandler 无法正常关闭
[KAFKA-17201] - SelectorTest.testInboundConnectionsCountInConnectionCreationMetric 泄漏套接字和线程
[KAFKA-17208] - replica_scale_test.py 对新消费者失败
[KAFKA-17219] - 调整系统测试框架以适应新协议消费者
[KAFKA-17230] - Kafka 消费者客户端不报告节点请求延迟指标
[KAFKA-17233] - MirrorCheckpointConnector 应使用批量 listConsumerGroupOffsets
[KAFKA-17234] - Partition.tryCompleteDelayedRequests 不应抛出异常
[KAFKA-17239] - Kafka 管理客户端不报告节点请求延迟指标
[KAFKA-17262] - kafka-topics.sh 使用信息令人困惑
[KAFKA-17267] - 新的组协调器可以为 OFFSET_FETCHes 返回 REQUEST_TIMED_OUT
[KAFKA-17268] - 修复关闭未启动的接受器时出现的 NPE 错误
[KAFKA-17286] - 不稳定的 PlaintextConsumerSubscriptionTest#testSubscribeInvalidTopic
[KAFKA-17293] - 新的消费者 HeartbeatRequestManager 应该重新发现已断开连接的协调器
[KAFKA-17294] - 在新的消费者中获取偏移量时处理可重试错误
[KAFKA-17295] - 新的消费者consumer_test.py 的 test_fencing_static_consumer 系统测试中,断言失败
[KAFKA-17299] - Kafka Streams 消费者停止消费
[KAFKA-17347] - 在 kafka-configs.sh 中添加省略的 --client-metrics 选项
[KAFKA-17349] - 确保所有 IT 都拥有“quorum”输入参数
[KAFKA-17371] - DefaultTaskExecutorTest.shouldUnassignTaskWhenRequired 中的测试存在问题
[KAFKA-17402] - 测试失败:DefaultStateUpdaterTest.shouldGetTasksFromRestoredActiveTasks 预期数量:<2>,实际数量:<3>
[KAFKA-17403] - 在网络线程运行和关闭时,由于竞争条件,新消费者可能无法发送离开组消息
[KAFKA-17415] - 避免过期消息溢出时间戳
[KAFKA-17432] - DefaultStateUpdater/DefaultTaskExecutor 关闭操作在线程完全退出之前返回
[KAFKA-17439] - 在新消费者中,将轮询新记录设置为明确的操作/事件
[KAFKA-17448] - 新消费者的 seek 操作应在后台线程中更新位置
[KAFKA-17455] - 客户端配额限制后出现 `TaskCorruptedException`
[KAFKA-17463] - 不稳定的测试:kafka.api.PlaintextAdminIntegrationTest."testShareGroups(String).quorum=kraft+kip932"
[KAFKA-17470] - CommitRequestManager 应该只记录一次失败的请求,即使响应中有多个错误
[KAFKA-17478] - metric.reporters 配置错误导致 KafkaProducer 构造函数出现 NPE
[KAFKA-17480] -新的消费者提交所有已消费的数据后,应在后台线程中检索偏移量。[KAFKA-17492] - 当 BrokerRegistrationRequest < 4 时,跳过 minVersion 为 0 的功能,而不是将 0 替换为 1。
[KAFKA-17505] - 新的消费者 seekToBeginning/End 应在后台线程中运行。
[KAFKA-17507] - WriteTxnMarkers API 必须在标记写入并具体化到组协调器的缓存中后才能返回。
[KAFKA-17515] - 修复 RestoreIntegrationTest.shouldInvokeUserDefinedGlobalStateRestoreListener 的不稳定问题。
[KAFKA-17518] - AsyncKafkaConsumer 在关闭且超时时间较短时无法可靠地离开组。
[KAFKA-17519] - 定义并验证 Consumer.close() 及其线程中断时超时的正确性。
[KAFKA-17553] - DefaultTaskManager.shutdown 卡顿在 Github CI 上
[KAFKA-17574] - 如果通过关闭钩子关闭 KafkaClusterTestKit,则会生成错误日志
[KAFKA-17575] - TestUtils.tempDirectory 为同一对象注册了两个关闭钩子
[KAFKA-17583] - kafka-config 脚本无法设置 `cleanup.policy=delete,compact`
[KAFKA-17622] - 分区重新平衡期间 Kafka 流超时
[KAFKA-17623] - testSeekPositionAndPauseNewlyAssignedPartitionOnPartitionsAssignedCallback 不稳定
[KAFKA-17632] - 如果使用 RoundRobinPartitioner,则自定义 `partitioner.class` 中,如果分区数量为偶数,则始终写入偶数分区
[KAFKA-17635] - 设置 excatly_once_v2 且生产者被隔离时,内部重新分区主题上的事件丢失
[KAFKA-17636] - 格式化磁盘时,StorageTool 不会创建 SCRAM 凭据
[KAFKA-17646] - 修复不稳定的 KafkaStreamsTest.testStateGlobalThreadClose
[KAFKA-17661] - 修复不稳定的 BufferPoolTest.testBlockTimeout
[KAFKA-17674] - 新的消费者在检索已提交的偏移量之前会重置新添加分区的位置
[KAFKA-17696] - 新的消费者后台操作无法感知元数据错误
[KAFKA-17697] - 修复不稳定的 DefaultStateUpdaterTest.shouldRestoreSingleActiveStatefulTask
[KAFKA-17706] - 允许所有 test-common 和test-common-api
[KAFKA-17713] - 确保快照与批次边界对齐
[KAFKA-17726] - 后台线程中新的消费者 subscribe/subscribeFromPattern
[KAFKA-17730] - ReplicaFetcherThreadBenchmark 损坏
[KAFKA-17749] - 节流指标名称已更改
[KAFKA-17751] - 使用 --initial-controllers 格式化时控制器 CPU 占用高
[KAFKA-17753] - 更新 protobuf 和 commons-io 依赖项
[KAFKA-17766] - TopicBasedRemoteLogMetadataManager 卡在关闭状态
[KAFKA-17769] - 修复不稳定的 PlaintextConsumerSubscriptionTest.testSubscribeInvalidTopicCanUnsubscribe
[KAFKA-17781] - 将 `psutil` 添加到 e2e dockerfile 并升级 ducktape版本
[KAFKA-17792] - 如果字符串看起来像数字,则标头解析最终会超时并占用大量内存
[KAFKA-17793] - 提高 kcontroller 对长延迟的稳健性
[KAFKA-17795] - 修复 suppressions.xml 的文件路径,以便在 Windows 上运行构建
[KAFKA-17801] - RemoteLogManager 可能会为中止的事务计算不准确的 upperBoundOffset
[KAFKA-17817] - 从 FetchRequest#fetchData 中移除缓存
[KAFKA-17833] - 将 DescribeAuthorizedOperationsTest 转换为使用 kraft
[KAFKA-17838] - 将 log4j.properties 从 resources/test 移至 resources
[KAFKA-17846] - ClientTelemetryReporter 不记录跟踪级别的消息
[KAFKA-17850] - 停止将内部异常泄漏到StreamsUncaughtExceptionHandler
[KAFKA-17852] - 在 StorageTool 的 --ignore-formatted 标志中添加帮助消息
[KAFKA-17870] - 在使用 ReplicaPlacer 之前禁止创建过多分区
[KAFKA-17872] - 当数据包被故意忽略时,Kafka 流作业不会提交偏移量
[KAFKA-17877] - IllegalStateException:WriteTxnMarkersResponse 中缺少生产者 ID
[KAFKA-17881] - 将 minJavaVersion 应用于测试代码
[KAFKA-17908] - 整理组元数据管理器中消费者组的日志消息
[KAFKA-17911] - 无法通过 Docker 镜像中的环境变量设置 kafka.metrics.reporter
[KAFKA-17913] - 修复 KRaft 控制器数量建议
[KAFKA-17941] - TransactionStateManager.loadTransactionMetadata 方法可能陷入无限循环
[KAFKA-17954] - 从 JMX 获取 old-iterator-open-since-ms 时出错
[KAFKA-17960] - PlaintextAdminIntegrationTest.testConsumerGroups 使用 CONSUMER 组协议时失败
[KAFKA-17988] - 修复不稳定的 ReconfigurableQuorumIntegrationTest.testRemoveAndAddSameController
[KAFKA-17994] - 反序列化 Kafka 流记录时未处理已检查的异常
[KAFKA-17995] - `retention.ms` 值过大可能会阻止分层存储中的远程数据清理
[KAFKA-18017] - 新的消费者应在错误处理/传播后将 HB 错误通知组管理器
[KAFKA-18021] - 禁用 MirrorCheckpointConnector 会在任务上抛出 RetriableException配置生成
[KAFKA-18027] - 次要问题:修正 DelayedOperationPurgatory 代码中关于添加已完成操作的部分
[KAFKA-18028] - `--no-initial-controllers` 的有效 kraft 版本应为 1,而不是 0
[KAFKA-18029] - 修复 quorum_reconfiguration_test.py
[KAFKA-18034] - CommitRequestManager 应在协调器发生致命错误时使待处理的请求失败
[KAFKA-18040] - PlaintextProducerSendTest.testSendToPartitionWithFollowerShutdownShouldNotTimeout 使用 CONSUMER 组协议时失败
[KAFKA-18051] - 不允许使用不包含冒号的主体创建 ACL
[KAFKA-18060] - 使用 CONSUMER 组时,新的协调器无法处理成员 ID 为空的 TxnOffsetCommitRequest
[KAFKA-18063] - SnapshotRegistry 不应泄漏内存
[KAFKA-18073] - Kafka Connect 记录转换调用引发异常时数据丢失
[KAFKA-18075] - 防止 ClusterInstance 使用空配置进行默认生产者和消费者初始化
[KAFKA-18078] - 修复失败MetricsTest.testJMXFilter
[KAFKA-18083] - ClusterInstance 自定义 controllerListener 无法正常工作
[KAFKA-18085] - 由于超时或错误导致重启时,中止正在进行的请求
[KAFKA-18092] - TransactionsTest.testBumpTransactionalEpochWithTV2Enabled 不稳定
[KAFKA-18100] - `Using` 块会抑制所有错误
[KAFKA-18109] - 修复工具模块中失败的 SaslClientsWithInvalidCredentialsTest
[KAFKA-18118] - 修复 results/latest 的错误软链接
[KAFKA-18123] - 修复 DynamicBrokerReconfigurationTest#testThreadPoolResize 不稳定的问题
[KAFKA-18127] - 处理与 v0 HB Broker 一起使用的订阅模式
[KAFKA-18189] - CoordinatorRequestManager 日志消息可能包含错误的协调器断开连接时间
[KAFKA-18194] - 由于元数据更新导致 test_broker_rolling_bounce 不稳定
[KAFKA-18199] - ConsumerGroupMemberMetadataValue.classicMemberMetadata 的大小计算不正确
[KAFKA-18200] - 如果附加失败,新的协调器可能会刷新空批次
[KAFKA-18206] - EmbeddedKafkaCluster 必须设置功能
[KAFKA-18211] - ClassGraph 扫描无法正确找到隔离连接插件
[KAFKA-18214] - TestUtils#waitForCondition 不遵守 maxWaitMs
[KAFKA-18221] - 在流测试中设置显式消费者组协议
[KAFKA-18228] - MetricsDuringTopicCreationDeletionTest 应该删除主题以确保重新创建指标。
[KAFKA-18234] - DumpLogSegments 无法打印 ConsumerGroupRegularExpression 记录
[KAFKA-18235] - 由于 genConnectOpenAPIDocs 任务损坏,无法构建发布 tar 文件
[KAFKA-18240] - 从 transactional_message_copier.py 中删除不存在的 `LOG4J_CONFIG`
[KAFKA-18242] - 核心模块中的 Java 代码未配置合适的发布版本
[KAFKA-18259] - 消费者 auto.offset.reset 的文档包含无效的 HTML
[KAFKA-18263] - 恢复静态成员重新加入时必须获取组锁
[KAFKA-18281] - Kafka (3.9.0) 未正确验证可路由控制器地址的非通告监听器
[KAFKA-18306] - TransactionsTest testFailureToFenceEpoch 是不稳定
[KAFKA-18326] - 缓存存储可能会返回已删除的值
[KAFKA-18342] - Vagrantfile 无法与 Ruby 3.2 兼容
[KAFKA-18401] - 事务版本 2 不支持在没有记录的情况下提交事务
[KAFKA-18451] - RemoteLogManagerTest#testRLMOpsWhenMetadataIsNotReady 不稳定
[KAFKA-18464] - 使用事务 V2 时,Empty Abort 事务可能会错误地隔离生产者
[KAFKA-18466] - 从运行时范围中移除 log4j-1.2-api,但将其保留在分发包中
[KAFKA-18469] - AsyncConsumer 无法在发生 ReplicaNotAvailable 错误时重试 ListOffsetRequest,且未更新元数据
[KAFKA-18478] - RocksDBTimeOrderedKeyValueBuffer 仅使用来自配置
[KAFKA-18480] - 修复 e2e `test_offset_truncate` 失败问题
[KAFKA-18482] - 修复 StreamsSmokeTest 系统测试失败问题
[KAFKA-18497] - 删除 config/kraft/server.properties 文件
[KAFKA-18547] - 主干中 ClientUtilsTest#testParseAndValidateAddressesWithReverseLookup 测试失败
[KAFKA-18569] - 新的消费者关闭可能会等待不需要的 FindCoordinator
[KAFKA-18575] - 事务版本 2 无法正确处理完成和新事务的竞争条件
[KAFKA-18619] - 新的消费者主题元数据事件应设置 requireMetadata 标志
[KAFKA-18634] - 修复 ELR 元数据版本问题
[KAFKA-18635] - 在 ELR 模式下重新启用非正常关闭检测
[KAFKA-18641] - AsyncKafkaConsumer 可能会因自动偏移提交而丢失记录
[KAFKA-18645] - 新的消费者应与传统消费者协调关闭超时处理
[KAFKA-18649] - 完成主题中的 ClearElrRecord 处理增量
[KAFKA-18654] - 由于过早返回,事务版本 2 性能下降
[KAFKA-18660] - 事务版本 2 无法正确处理 epoch 溢出
[KAFKA-18668] - 快速入门中不再存在 config/kraft/reconfig-server.properties 文件
[KAFKA-18690] - 新的消费者不会为与新正则表达式匹配的主题更新最新元数据 (latestmetadata)
[KAFKA-18691] - 不稳定的 testFencingOnTransactionExpiration 测试
[KAFKA-18737] - 由于存储格式命令,KafkaDockerWrapper 设置函数失败
[KAFKA-18743] - Kraft 不支持 leader.imbalance.per.broker.percentage 函数
[KAFKA-18758] - 在 InvalidConfigurationException 之后关闭时出现 NullPointerException
[KAFKA-18773] - 迁移将 log4j1 配置升级到 log4j 2 以用于原生镜像和 README 文件
[KAFKA-18784] - 修复 ConsumerWithLegacyMessageFormatIntegrationTest
[KAFKA-18803] - ACL 会显示在元数据 shell“树”的错误层级
[KAFKA-18807] - 组协调器低估了线程空闲时间
[KAFKA-18813] - ConsumerGroupHeartbeat API 和 ConsumerGroupDescribe API 必须检查主题描述
[KAFKA-18831] - 迁移到 log4j2 后,引入了动态调整层级的行为变更
[KAFKA-18844] - QuorumController#registerBroker 中的过时特性信息
[KAFKA-18916] - 已解析的正则表达式必须更新按主题分组的数据结构
[KAFKA-18917] - TransformValues 中未命名的物化实例会抛出异常NPE
[KAFKA-18920] - kcontrollers 未在 ApiVersionsResponse 中设置 kraft.version
[KAFKA-18943] - Kafka Streams 在任务撤销期间错误地提交了 TX
[KAFKA-18979] - 升级到 v4.0 后,kraft.version 错误地升级为 1
任务
[KAFKA-12689] - 删除已弃用的 EOS 配置
[KAFKA-12690] - 删除已弃用的 Producer#sendOffsetsToTransaction
[KAFKA-12822] - 删除 4.0 版 Kafka Streams 中已弃用的 API
[KAFKA-14158] - 针对 Kafka 4.0 的 KIP-830 清理
[KAFKA-14262] - 删除 MirrorMaker v1
[KAFKA-14417] - Producer 无法处理 InitProducerIdRequest 的 REQUEST_TIMED_OUT 错误,该错误被视为致命错误
[KAFKA-15387] - 弃用并删除 Connect 的冗余任务配置检索端点
[KAFKA-15443] - 升级 RocksDB 依赖项
[KAFKA-15737] - 支持 KRaft ConsumerBounceTest
[KAFKA-15859] - 引入延迟远程列表偏移量,使 LIST_OFFSETS 异步
[KAFKA-15875] - Snapshot 类受包保护,但在公共方法中返回
[KAFKA-15907] - 从 4.0 版本中删除已弃用的 Consumer 功能
[KAFKA-16041] - 将 Afterburn 模块替换为 Blackbird
[KAFKA-16188] - 删除已弃用的 kafka.common.MessageReader
[KAFKA-16290] - 研究通过队列传播订阅状态更新
[KAFKA-16308] - 格式化和更新 Kafka 功能
[KAFKA-16769] - 删除已弃用的 add.source.alias.to.metrics 配置
[KAFKA-16780] - 交易消费者在收集中止数据时对远程存储施加压力事务
[KAFKA-16816] - 移除新消费者提交路径中不必要的 FencedInstanceId 支持
[KAFKA-16974] - SslAdminIntegrationTest 中支持 KRaft
[KAFKA-17078] - 添加 SecurityManager 反射垫片
[KAFKA-17100] - GlobalStreamThread#start 不应处于忙等待状态
[KAFKA-17170] - 添加测试以确保即使第一个带有确认的 HB 丢失,新消费者也能确认已协调的分配
[KAFKA-17193] - 将外部 GitHub 操作固定到特定的 git hash
[KAFKA-17324] - 在 Streams 中将配置 group.protocol 设置为 classic
[KAFKA-17338] - ConsumerConfig 应阻止使用带有 CONSUMER 组协议的分区分配器
[KAFKA-17355] - 更新 TestFeatureVersion 2,使其始终基于MetadataVersion.latestTesting
[KAFKA-17369] - 从日志和许可证中移除 org.reflections
[KAFKA-17488] - 清理(测试)Kafka Streams“metric version”代码
[KAFKA-17591] - 消费者协议订阅正则表达式支持
[KAFKA-17609] - 将 Kafka Streams 系统测试转换为使用 KRaft
[KAFKA-17611] - 从 Kafka 4.0 中移除 ZK
[KAFKA-17618] - 组消费者心跳间隔应小于会话超时
[KAFKA-17631] - 将 SaslApiVersionsRequestTest 转换为 kraft
[KAFKA-17648] - AsyncKafkaConsumer#unsubscribe swallow TopicAuthorizationException
[KAFKA-17671] - 为事务创建更完善的文档
[KAFKA-17805] - 弃用命名拓扑
[KAFKA-17858] - 从 log4j 配置中移除与 ZK 相关的配置。
[KAFKA-17909] - 从 ConsumerGroupHeartbeatRequest 和 ConsumerGroupDescribeRequest 中移除 zkBroker
[KAFKA-17915] - 将 Kafka 客户端系统测试转换为使用 KRaft
[KAFKA-17925] - 将 Kafka 客户端集成测试转换为使用 KRaft
[KAFKA-17928] - 使远程日志管理器线程池配置动态化
[KAFKA-17980] - 在 RemoteLogMetadataManager 中添加 isReady API
[KAFKA-18041] - 更新客户端实例 ID 中全局消费者的键
[KAFKA-18047] - 将 org.apache.kafka.automatic.config.providers 添加到系统属性部分
[KAFKA-18052] - 将功能稳定版本与元数据版本的依赖关系分离
[KAFKA-18074] - 增加 Kafka 客户端兼容性矩阵
[KAFKA-18137] - 卸载事务状态时错误地删除了正在加载的分区
[KAFKA-18224] - StreamsResetter 工具应该设置/验证组协议
[KAFKA-18225] - Kraft 不支持 ClientQuotaCallback#updateClusterMetadata
[KAFKA-18305] - 验证 kcontrollers 的 inter.broker.listener.name 中是否存在 controller.listener.names
[KAFKA-18364] - 正在从 zk 迁移到 kraft 文档
[KAFKA-18436] - 从 4.0 版本恢复 KIP-891
[KAFKA-18583] - 改进/修复 KRaftMetadataCache.getPartitionReplicaEndpoints
Wish
[KAFKA-17086] - Kafka 支持 Java 21
测试
[KAFKA-14453] - 不稳定的测试套件 MirrorConnectorsWithCustomForwardingAdminIntegrationTest
[KAFKA-14572] - 将 Streams 集成测试使用的 EmbeddedKafkaCluster 从 EmbeddedZookeeper 迁移到 KRaft
[KAFKA-15197] - 不稳定的测试 MirrorConnectorsIntegrationExactlyOnceTest.testOffsetTranslationBehindReplicationFlow()
[KAFKA-15292] - 不稳定的测试 IdentityReplicationIntegrationTest#testReplicateSourceDefault()
[KAFKA-16792] - 启用消费者单元测试,使其仅对使用 poll(0) 的新消费者启用无法获取偏移量的测试
[KAFKA-16919] - 不稳定的测试 testNoCheckpointsIfNoRecordsAreMirrored() – org.apache.kafka.connect.mirror.integration.MirrorConnectorsIntegrationSSLTest
[KAFKA-16993] - 不稳定的测试 RestoreIntegrationTest.shouldInvokeUserDefinedGlobalStateRestoreListener.shouldInvokeUserDefinedGlobalStateRestoreListener()
[KAFKA-17199] - 为 TransactionLogConfig 和 TransactionStateManagerConfig 添加单元测试
[KAFKA-17203] - StreamThread 泄漏生产者实例
[KAFKA-17258] - 将 AdminFenceProducersIntegrationTest 迁移到 ClusterTestExtensions 框架
[KAFKA-17269] - 修复 NioEchoServer.closeNewChannels 导致的 ConcurrentModificationException
[KAFKA-17270] - 让测试代码使用 Exit.java 而不是 Exit.scala
[KAFKA-17297] - testHandleEndQuorumRequest 失败,为什么?
[KAFKA-17303] - 启用 testPutControllersInBootstrapBrokersConfig
[KAFKA-17407] - 修复不稳定的 ShareGroupHeartbeatRequestTest.testPartitionAssignmentWithChangingTopics
[KAFKA-17459] - 稳定 reassign_partitions_test.py
[KAFKA-17460] - 删除 downgrade_test.py,因为它与 kraft_upgrade_test.py 重复
[KAFKA-17474] - GlobalStreamThreadTest 中的测试不稳定
[KAFKA-17477] - Topic 命令集成测试迁移到新的测试基础设施
[KAFKA-17524] - StreamThreadTest shouldReturnErrorIfProducerInstanceIdNotInitialized 挂起
[KAFKA-17526] - 确保 ConfigCommandIntegrationTest.java 测试使用正确的参数测试别名
[KAFKA-17555] - 取消注释 testCommonNameLoggingTrustManagerMixValidAndInvalidCertificates 的所有检查
[KAFKA-17558] - 清理 Kafka Streams 集成测试
[KAFKA-17654] - 修复不稳定的 ProducerIdManagerTest#testUnrecoverableErrors
[KAFKA-17772] - 从 ReplicationControlManagerTest 中移除 inControlledShutdownBrokers(Set) 和 unfenceBrokers(Set)
[KAFKA-17779] - 修复不稳定的 RemoteLogManagerTest#testFetchOffsetByTimestampWithTieredStorageDoesNotFetchIndexWhenExistsLocally
[KAFKA-17837] - 重写 DeleteTopicTest
[KAFKA-17839] - DescribeConsumerGroupTest 并未真正测试不同的参数
[KAFKA-17854] - 改进 ReadOnlyWindowStoreStub#fetch 和 #backwardFetch 的测试
[KAFKA-17899] - 为 NetworkReceive 添加更多单元测试
[KAFKA-17978] - StreamsUpgradeTest#test_rolling_upgrade_with_2_bounces 系统测试失败
[KAFKA-17979] - 在 setup.cfg 文件中将 [pytest] 更改为 [tool:pytest]
[KAFKA-17998] - 修复不稳定的 OffloadAndTxnConsumeFromLeaderTest.executeTieredStorageTest 测试
[KAFKA-18000] - 修复不稳定的 ReplicaManagerTest#testSuccessfulBuildRemoteLogAuxStateMetrics
[KAFKA-18008] - 不稳定的 testMultiConsumerSessionTimeoutOnStopPolling
[KAFKA-18036] - TransactionsWithTieredStoreTest testReadCommittedConsumerShouldNotSeeUndecidedData 不稳定
[KAFKA-18038] - StreamThreadTest shouldLogAndRecordSkippedRecordsForInvalidTimestamps 不稳定
[KAFKA-18104] - 在 Loggers#currentLoggers 中添加测试
[KAFKA-18158] - 为后续订阅添加 subscribePattern 集成测试
[KAFKA-18218] - Trogdor 系统测试找不到协调器
[KAFKA-18277] - 将 network_degrade_test 转换为 Kraft 模式
[KAFKA-18280] - 修复 e2e TestSecurityRollingUpgrade.test_rolling_upgrade_sasl_mechanism_phase_one
[KAFKA-18346] - 修复 e2e TestKRaftUpgrade 问题v3.3.2
[KAFKA-18415] - ApplicationEventHandlerTest testRecordApplicationEventQueueSize 不稳定
[KAFKA-18525] - 更新异步消费者运行的测试
[KAFKA-18546] - 将 ClientUtilsTest#testParseAndValidateAddressesWithReverseLookup 更改为模拟测试
[KAFKA-18568] - ClientIdQuotaTest 测试不稳定
[KAFKA-18771] - KRaftClusterTest .testDescribeQuorumRequestToControllers 测试不稳定
[KAFKA-18790] - testCustomQuotaCallback 超时构建失败
子任务
[KAFKA-12601] - 删除已弃用的 `delegation.token.master.key`
[KAFKA-12823] - 删除已弃用的方法 KStream#through
[KAFKA-12824] - 删除已弃用的方法 KStream#branch
[KAFKA-12826] - 删除已弃用的类 Serdes (Streams)
[KAFKA-12827] - 删除已弃用的方法 KafkaStreams#setUncaughtExceptionHandler
[KAFKA-12828] - 删除 KeyQueryMetadata 下已弃用的方法
[KAFKA-12829] - 删除旧 Processor API 类中已弃用的方法
[KAFKA-12830] - 删除 TimeWindowedDeserializer 和 TimeWindowedSerde 中已弃用的构造函数
[KAFKA-12832] - 删除RocksDBGenericOptionsToDbOptionsColumnFamilyOptionsAdapter
[KAFKA-12834] - 删除已弃用的方法 MockProcessorContext#setTimestamp
[KAFKA-12844] - KIP-740 后续:清理 TaskId
[KAFKA-13093] - 日志压缩应使用记录版本 v2 写入新段 (KIP-724)
[KAFKA-14482] - 将 LogLoader 移至存储模块
[KAFKA-14483] - 将 LocalLog 移至存储模块
[KAFKA-14510] - 扩展 DescribeConfigs API 以支持组配置
[KAFKA-14511] - 扩展 AlterIncrementalConfigs API 以支持组配置
[KAFKA-14562] - 每次事务后实现 epoch bump
[KAFKA-14577] - 将 ConsoleProducer 移至工具
[KAFKA-14587] - 将 AclCommand 移至工具
[KAFKA-14705] - 删除已弃用的选项和重定向
[KAFKA-14772] - 将 ConsumerGroupHeartbeat API 添加到 AuthorizerIntegrationTest
[KAFKA-15621] - 将直方图指标添加到 GroupCoordinatorRuntimeMetrics
[KAFKA-15908] - 删除已弃用的 Consumer API 轮询(超时时间较长)
[KAFKA-15909] - 当消费者为旧版 KafkaConsumer 配置了空/仅空格的 group.id 时,会抛出错误
[KAFKA-16106] - 操作失败时,组大小计数器无法反映实际大小
[KAFKA-16324] - 将 BrokerApiVersionsCommand 移至工具
[KAFKA-16327] - 删除已弃用的变量StreamsConfig#TOPOLOGY_OPTIMIZATION
[KAFKA-16328] - 从 StreamsConfig 中移除已弃用的配置
[KAFKA-16329] - 移除已弃用的 Task/ThreadMetadata 类及其相关方法
[KAFKA-16330] - 从 TaskId 中移除已弃用的方法/变量
[KAFKA-16331] - 移除已弃用的 EOSv1
[KAFKA-16332] - 移除 Time/Session/Join/SlidingWindows 等已弃用的构建器方法
[KAFKA-16333] - 删除了已弃用的方法 KTable#join
[KAFKA-16334] - 从重置工具中移除了已弃用的命令行选项
[KAFKA-16335] - 删除了 StreamPartitioner 中已弃用的方法
[KAFKA-16339] - 删除了已弃用的“transformer”方法和类
[KAFKA-16379] - 协调器刷新时间和事件炼狱时间指标
[KAFKA-16540] - 在最小 isr 配置更新时更新分区。
[KAFKA-16607] - 使指标实现包含新状态
[KAFKA-16681] - 使用 Java 重写 MiniKDC
[KAFKA-16682] - 使用 Java 重写 JassTestUtils
[KAFKA-16683] - 将安全相关的辅助函数从 scala.TestUtils 提取到 Java 类
[KAFKA-16726] - 添加用于偏移重置的动态组配置
[KAFKA-16732] - 调查 Broker 中 share-coordinator-metrics 和 share-group-metrics 的缺失值
[KAFKA-16733] - 在 kafka-dump-log.sh 中添加对写入偏移主题的新记录进行格式化的支持
[KAFKA-16734] - 在 kafka-dump-log.sh 中添加对写入共享组状态主题的记录进行格式化的支持
[KAFKA-16736] - 删除4.0 中的 offsets.commit.required.acks
[KAFKA-16745] - 在 KafkaApis 中添加对共享获取请求的支持
[KAFKA-16746] - 在 KafkaApis 中添加对共享确认请求的支持
[KAFKA-16751] - 在 SharePartitionManager 中实现释放已获取的记录
[KAFKA-16754] - 在 SharePartition 中实现释放已获取记录的功能
[KAFKA-16755] - 在 SharePartition 中实现锁超时功能
[KAFKA-16813] - 为“@Test”和“@TestTemplate”添加全局超时
[KAFKA-16845] - 将 ReplicationQuotasTestRig 迁移到新的测试基础设施
[KAFKA-16896] - 在我们放弃 JDK8 后升级到 spotless 版本
[KAFKA-16964] - 用于添加和删除的集成测试投票者
[KAFKA-16972] - 将 `BrokerTopicStats` 和 `BrokerTopicMetrics` 移至 `org.apache.kafka.storage.log.metrics`(存储模块)
[KAFKA-17002] - 在共享分区中集成分区领导者纪元
[KAFKA-17003] - 实现 SharePartitionManager 关闭功能
[KAFKA-17004] - 次要:移除 SharePartitionManager 中多余的同步块
[KAFKA-17005] - 在线协议迁移集成测试
[KAFKA-17026] - 在 LSO 移动中实现 updateCacheAndOffsets 功能
[KAFKA-17036] - KIP-919 支持 `createAcls`、`deleteAcls` 和 `describeAcls`
[KAFKA-17038] - KIP-919 支持`alterPartitionReassignments` 和 `listPartitionReassignments`
[KAFKA-17071] - SharePartition - 添加更多单元测试
[KAFKA-17225] - 重构消费者成员成员管理器
[KAFKA-17228] - 使用新协议的静态成员应始终替换使用旧协议的成员
[KAFKA-17231] - 共享消费者节点延迟指标
[KAFKA-17247] - 修订共享组记录架构
[KAFKA-17256] - KRAFT 应遵循 ClusterConfig 中的监听器名称和安全协议
[KAFKA-17265] - 修复不稳定的 MemoryRecordsBuilderTest#testBuffersDereferencedOnClose
[KAFKA-17272] - 协议迁移的系统测试
[KAFKA-17273] - 将 BootstrapControllersIntegrationTest 迁移为使用 ClusterTestExtensions
[KAFKA-17288] - 移除共享组的跟踪成员分区纪元
[KAFKA-17289] - 添加 ShareGroupDescribe 请求的集成测试
[KAFKA-17298] - 更新 4.0 升级说明
[KAFKA-17306] - 降低重放墓碑时的验证要求
[KAFKA-17311] - testClientInstanceId、testClientInstanceIdInvalidTimeout 和 testClientInstanceIdNoTelemetryReporterRegistered 应包含 CONSUMER 协议
[KAFKA-17312] - 修复 RocksDBGenericOptionsToDbOptionsColumnFamilyOptionsAdapterTest 中的 shouldForwardAllDbOptionsCalls 和 shouldOverwriteAllOptionsMethods 测试
[KAFKA-17317] - 静态成员替换后进行验证,并可能触发降级
[KAFKA-17318] - 引入 ConsumerRecord.deliveryCount() 并移除弃用
[KAFKA-17320] - 将 SensorAccess 移至服务器通用模块
[KAFKA-17329] - 实现 DefaultShareStatePersister
[KAFKA-17341] - 重构消费者心跳管理器
[KAFKA-17342] - 将通用协调器代码从 group-coordinator 移至单独的模块 coordinator-common
[KAFKA-17350] - 改进 kafka-share-groups.sh --describe 中空组的输出
[KAFKA-17356] - 添加 KAFKA-17310 的集成测试
[KAFKA-17357] - 将已弃用的 `retry.maxRetries`/`retry.maxFailures` 替换为 `develocity.testRetry.maxRetries`/`develocity.testRetry.maxFailures`
[KAFKA-17368] - 将投递计数添加到 kafka-console-share-consumer.sh
[KAFKA-17372] - 将 `ThrottledChannelExpirationTest#testThrottledChannelDelay` 和 `ThrottledChannel` 移至服务器模块
[KAFKA-17374] - 将 bootstrap.controller 添加到 kafka-reassign-partitions.sh
[KAFKA-17376] - 在 4.0 中默认使用新的组协调器
[KAFKA-17378] - 初始性能测试修复
[KAFKA-17383] - 更新有关删除 `offsets.commit.required.acks` 的升级说明
[KAFKA-17385] - 删除 AclCommand 中的 authorizer、authorizer-properties 和 zk-tls-config-file
[KAFKA-17386] - 删除 ConsumerPerformance 中的 broker-list、threads 和 num-fetch-threads
[KAFKA-17387] - 删除 VerifiableConsumer 中的 broker-list
[KAFKA-17388] - 删除 VerifiableProducer 中的 broker-list
[KAFKA-17390] - 移除 GetOffsetShell 中的 broker-list
[KAFKA-17392] - 移除 ConsoleConsumerOptions 中的白名单
[KAFKA-17393] - 移除 TopicConfig 中的 message.format.version
[KAFKA-17395] - 为新消费者测试 testMissingOffsetNoResetPolicy 时出现不稳定问题
[KAFKA-17400] - 引入 Purgatory 机制,用于处理无法立即完成的共享获取请求
[KAFKA-17401] - 添加 Share Fetch Purgatory 的清除间隔配置
[KAFKA-17406] - 将 ClientIdAndBroker 移至 server-common 模块
[KAFKA-17413] - 重新引入 `group.version` 功能标志
[KAFKA-17414] - 将 RequestLocal 移至 server-common 模块
[KAFKA-17425] - 改善消费者共存群组和共享群组
[KAFKA-17430] - 将 RequestChannel.Metrics 和 RequestChannel.RequestMetrics 移至服务器模块
[KAFKA-17449] - 将 Quota 类移至服务器通用模块
[KAFKA-17450] - 优化 ShareConsumeRequestManager 中的处理程序方法。
[KAFKA-17451] - 删除已弃用的 Consumer#committed
[KAFKA-17468] - 将 kafka.log.remote.quota 移至存储模块
[KAFKA-17472] - 加速 DescribeConsumerGroupTest
[KAFKA-17473] - 加速 ClientTelemetryTest
[KAFKA-17476] - 删除 kafka.common.OffsetAndMetadata
[KAFKA-17491] - 将 BrokerServerMetrics 移至服务器模块
[KAFKA-17495] - 从服务器端分配器基准测试中分离出通用设置
[KAFKA-17496] - 向 TargetAssignmentBuilderBenchmark 添加异构配置
[KAFKA-17500] - 在共享组响应中使用 NOT_LEADER_OR_FOLLOWER 和元数据重定向
[KAFKA-17509] - 引入延迟操作排队完成炼狱代码之外的炼狱操作。
[KAFKA-17510] - 重构 SharePartitionManager 和 DelayedShareFetch 之间的代码,用于共享分区初始化
[KAFKA-17511] - 将 ElectLeadersRequestOps 移至 ElectLeadersRequest
[KAFKA-17512] - 将 LogSegmentTest 移至存储模块
[KAFKA-17513] - 将 LogSegmentsTest 移至存储模块
[KAFKA-17528] - 从 JMXReporter 中移除白名单/黑名单
[KAFKA-17529] - 从 MM2 中移除黑名单
[KAFKA-17530] - 从 ReplaceField 中移除黑名单/白名单
[KAFKA-17544] - 为 KafkaShareConsumer 的抢先体验添加日志消息
[KAFKA-17545] - 移除 SharePartitionManager 中的获取队列
[KAFKA-17546] - 创建 kafka-groups.sh 工具
[KAFKA-17548] - 改进管理员客户端集成测试
[KAFKA-17549] - 改进 kafka-share-groups.sh 中错误组类型的错误消息
[KAFKA-17550] - 在 kafka-consumer-groups.sh 中利用 DescribeGroups v6 API
[KAFKA-17563] - 将 RequestConvertToJson 移至服务器模块
[KAFKA-17564] - 将 BrokerFeatures 移至服务器模块
[KAFKA-17567] - 删除 TestTruncate
[KAFKA-17568] - 使用 Java 重写 TestPurgatoryPerformance
[KAFKA-17569] - 使用 JMH 重写 TestLinearWriteSpeed
[KAFKA-17570] - 使用 JMH 重写 StressTestLog
[KAFKA-17571] - 还原#17219
[KAFKA-17576] - 修复所有对 kraft/server.properties 的引用,以使用 reconfig-server.properties
[KAFKA-17578] - 从 TopicMetadata 中移除 partionRacks
[KAFKA-17589] - 将 JUnit 扩展移至 test-common 模块
[KAFKA-17592] - 在 HB RPC 中支持订阅正则表达式
[KAFKA-17593] - 异步正则表达式解析
[KAFKA-17598] - RE2J 正则表达式的命令行验证工具
[KAFKA-17602] - 从 JmxReporter 中移除 `ConfigUtils.translateDeprecatedConfigs`
[KAFKA-17612] - 移除一些仅适用于 ZK 模式或迁移的测试
[KAFKA-17613] - 移除 ZK 迁移代码
[KAFKA-17614] - 移除 AclAuthorizer
[KAFKA-17615] - 移除测试中的 KafkaServer 引用
[KAFKA-17616] - 移除 KafkaServer
[KAFKA-17620] - 简化共享分区获取 API
[KAFKA-17621] - 降低 ConsumerGroupHeartbeat 路径上的日志记录冗长程度
[KAFKA-17624] - 移除从 zk 访问 ACL 的端到端使用
[KAFKA-17634] - 加强共享消费者的唤醒处理
[KAFKA-17639] - 将 Java 23 添加到 CI 构建矩阵
[KAFKA-17640] - 记录 Java 23 支持并包含发行说明
[KAFKA-17641] - 使用新的预投票字段更新投票 RPC
[KAFKA-17642] - 添加 ProspectiveState 和ProspectiveStateTest
[KAFKA-17643] - 将预投票的响应处理设置为 True
[KAFKA-17653] - 将 Scala 版本更新至 2.13.15,以支持 Java 23
[KAFKA-17668] - 重写 LogCleaner#maxOverCleanerThreads 和 LogCleanerManager#maintainUncleanablePartitions
[KAFKA-17672] - 单独运行隔离测试
[KAFKA-17675] - 向 RaftEventSimulationTest 添加测试
[KAFKA-17677] - 考虑移除 `atomicGetOrUpdate`
[KAFKA-17683] - 从 Kafka 4.0 的 README 文件中移除 ZK
[KAFKA-17684] - 在 Java 11 和 Java 21 上运行测试
[KAFKA-17692] - 移除流中的 KafkaServer 引用测试
[KAFKA-17703] - 将 DelayedActionsQueue 移出 DelayedShareFetch
[KAFKA-17707] - 从 BaseConsumerTest 中移除 zk
[KAFKA-17710] - 重新设计 UniformHeterogeneousAssignor 以提高性能
[KAFKA-17720] - 移除 zookeeper_migration_test.py
[KAFKA-17721] - 启用配置控制器的监听器名称和协议
[KAFKA-17722] - 修复 JDK 23 中“this-escape”编译器警告(BrokerTopicMetrics)
[KAFKA-17723] - 修复 JDK 23 中“this-escape”编译器警告(MultiThreadedEventProcessor 和 DistributedHerder)
[KAFKA-17724] - 客户端 - 解决共享组消费者中 SubscriptionState 的竞争条件
[KAFKA-17729] -从 jmh-benchmarks 中移除 ZooKeeper
[KAFKA-17733] - 协议升级应允许在组转换中分配空成员
[KAFKA-17737] - E2E 测试需要删除 Kafka 1.0.0 之前的版本
[KAFKA-17738] - 将基础镜像从 jdk8 升级到 jdk11
[KAFKA-17739] - 清理 build.gradle 文件,使最低 Java 版本为 11。
[KAFKA-17740] - 更新 Readme 和文档
[KAFKA-17741] - 清理 JDK 11 的代码库
[KAFKA-17742] - 将 DelayedShareFetchPurgatory 声明移至 ReplicaManager
[KAFKA-17743] - 为 DelayedShareFetch 添加 minBytes 实现
[KAFKA-17746] - 将 JavaConverters 替换为CollectionConverters
[KAFKA-17759] - 移除 Utils.mkSet
[KAFKA-17763] - 移除 Utils.covariantCast
[KAFKA-17764] - 从 RPC 模式中删除不必要的可忽略注解
[KAFKA-17765] - 移除 TestUtils.toSet
[KAFKA-17773] - 升级 spotbug 以在 Java 23 下运行
[KAFKA-17774] - 在共享获取中添加最大获取记录数功能
[KAFKA-17783] - 如果分区被删除或成为跟随者,则从 SharePartitionManager 中移除 sharePartition
[KAFKA-17787] - 从 ConfigCommand 中移除 --zookeeper 选项和逻辑
[KAFKA-17796] - 在对共享协调器的读取状态调用中保留更高的 leaderEpoch。
[KAFKA-17810] - 将 Jetty 主干、3.8 和 3.7 版本更新至 9.4.56
[KAFKA-17811] - 分离模块以使用不同的 JDK
[KAFKA-17812] - 将 e2e 的基础镜像从 JDK 11 升级到 JDK 17
[KAFKA-17814] - 使用 `final` 声明替换 `this-escape` 抑制
[KAFKA-17827] - 清理 mockit 版本
[KAFKA-17832] - 移除所有 EnabledForJreRange
[KAFKA-17840] - 将 ReplicationQuotaManager、ClientRequestQuotaManager 和 QuotaFactory 移至服务器模块
[KAFKA-17848] - 将延迟共享获取模块移至 ReplicaManager 后,解决 Broker 上的可靠性问题
[KAFKA-17857] - 将 AbstractResetIntegrationTest 及其子类移至工具模块
[KAFKA-17860] - 移除 log4j-appender模块
[KAFKA-17878] - 将 ActionQueue 移至服务器模块
[KAFKA-17879] - test_performance_services.py 应使用 DEV 版本运行 Kafka 服务
[KAFKA-17880] - 将集成测试从 Streams 模块移至 Streams/Integration-Tests 模块
[KAFKA-17883] - 修复在 E2E 环境中运行旧 Kafka 客户端时由 UseParNewGC 导致的 JVM 错误
[KAFKA-17888] - 将 ZooKeeper 版本从 3.4.9 升级到 3.5.7,以避免出现无法在 JDK 11 下运行的 ZOOKEEPER-3779 错误
[KAFKA-17890] - 将 DelayedOperationPurgatory 移至服务器公共模块
[KAFKA-17896] - 创建 Admin.describeClassicGroups
[KAFKA-17910] - 创建集成测试Admin.listGroups 和 Admin.describeClassicGroups
[KAFKA-17912] - 对齐 SharePartitionKey 的字符串转换
[KAFKA-17914] - 重构 ShareCoordinator.partitionFor 以使用 SharePartitionKey 参数
[KAFKA-17921] - 使用 java.security.auth.login.config 支持 SASL_PLAINTEXT 协议
[KAFKA-17922] - 向 ClusterInstance 添加助手以创建客户端组件
[KAFKA-17923] - 从 e2e 中移除旧版本的 Kafka
[KAFKA-17933] - 为 ShareConsumers 添加 ShareRoundTripWorker。
[KAFKA-17943] - 调用 replicaManager.getPartitionOrException 时的错误处理
[KAFKA-17944] - 添加 replicaManager.fetchOffsetForTimestamp 抛出错误时的错误处理
[KAFKA-17945] - 在 ShareFetchUtils 中调用 replicaManager.fetchOffsetForTimestamp 时使用 Leader epoch
[KAFKA-17948] - 同时调用 tryComplete 和 onComplete 访问全局变量时可能出现问题
[KAFKA-17949] - 添加 GroupState 和 ListGroupsOptions.inStates
[KAFKA-17956] - 删除 Admin.listShareGroups,改为 Admin.listGroups
[KAFKA-17970] - 将一些 Purgatory 类从核心类移至共享类
[KAFKA-17973] - 放宽选民集变更的限制
[KAFKA-17977] - 删除来自 E2E 的 new_consumer
[KAFKA-17985] - 设置 ShareRoundTripWorker 中 share.auto.offset.reset 的默认值。
[KAFKA-17987] - 删除各种与 ZK 相关的文件
[KAFKA-17991] - 在 DefaultStatePersister 中定时调用 future.get 并进行测试改进
[KAFKA-18003] - 添加测试以确保 `Admin#deleteRecords` 能够处理损坏的记录
[KAFKA-18004] - 使用 3.8 版本运行 ZooKeeper 服务进行端到端测试
[KAFKA-18009] - 删除 KafkaShareConsumer 的虚假公共构造函数
[KAFKA-18011] - 从文档中移除 ZooKeeper
[KAFKA-18012] - 更新 KRaft 的 Scram 配置部分
[KAFKA-18013] - 为 Kafka 消费者添加基于持续时间的偏移量重置选项
[KAFKA-18014] - 为ShareConsumer
[KAFKA-18015] - 为 Kafka Streams 添加基于时长偏移量重置选项
[KAFKA-18016] - 修复 ShareFetch 中处理捎带确认的错误
[KAFKA-18019] - 将 INVALID_PRODUCER_ID_MAPPING 从可中止错误转换为致命错误
[KAFKA-18022] - 在常见/不常见共享获取情况下,使用 fetchOffsetMetadata 进行 minBytes 估算
[KAFKA-18030] - 删除旧的升级系统测试模块
[KAFKA-18045] - 将 0.11、1.0、1.1 和 2.0 版本添加回 streams_upgrade_test.py
[KAFKA-18056] - 修复 commitAsync 后更新回调函数相关的错误。
[KAFKA-18058] - 将偏移清理算法与共享协调器集成
[KAFKA-18076] - 删除 `isZkMigrationTest` 及相关代码
[KAFKA-18079] - `consumer-config` 无法与 console-share-consumer 配合使用
[KAFKA-18081] - 从仅限 kraft 的测试中移除 isKRaftTest
[KAFKA-18084] - AcquisitionLockTimerTask 为空且存在泄漏,导致 AcknowledgeRequest 挂起并损坏批处理状态
[KAFKA-18086] - 写入状态时启用错误消息传播
[KAFKA-18090] - 为共享组成员和分配创建特定类
[KAFKA-18097] - 升级 readme 文件以包含 JDK 的微小更改
[KAFKA-18098] - 为 testReplicaPlacementAllServers 和 testReplicaPlacementPartialServers 添加 kraft 支持
[KAFKA-18116] - 静态消费者组成员的 Admin LeaveGroup 失败
[KAFKA-18122] - 添加 ShareConsumeBenchWorker 以运行 trogdor 工作负载。
[KAFKA-18124] - 从 RaftManagerTest、BrokerLifecycleManagerTest、KafkaConfigTest 和 ReplicaManagerTest 中移除 zk 迁移
[KAFKA-18129] - `SharePartition#maybeInitialize` 应该完成未来超出写入锁的情况
[KAFKA-18132] - 从 connect-distributed.properties 中移除“session.timeout.ms”以修复连接 e2e 问题
[KAFKA-18134] - 如果成员分配的 userData 非空,则拒绝升级
[KAFKA-18136] - 从代码库中移除 zk 迁移
[KAFKA-18140] - 移除 ZooKeeperMainWithTlsSupportForKafka
[KAFKA-18144] - 将存储异常移出核心
[KAFKA-18145] - 修复 e2e 失败问题ConnectDistributedTest.test_dynamic_logging
[KAFKA-18146] - tests/kafkatest/tests/core/upgrade_test.py 需要重新添加为 KRaft
[KAFKA-18148] - 持久化方法 deleteState、initializeState 和 readSummary 不应在其方法签名中声明异常
[KAFKA-18150] - 如果消费者成员通过管理客户端离开消费者组,则可能需要降级该组
[KAFKA-18152] - 将 0.11、1.0、1.1 和 2.0 版本的流依赖项添加到 dockerfile
[KAFKA-18155] - 修复客户端中 ShareAcknowledge 响应处理程序中的错误。
[KAFKA-18156] - 使用 CONSUMER 协议时,VerifiableConsumer 应忽略“--session-timeout”
[KAFKA-18160] - 中断或唤醒 AsyncConsumer 中的 onPartitionsAssigned 可能会导致跳过 ConsumerRebalanceListenerCallbackCompletedEvent
[KAFKA-18162] - 将 LocalLogTest 移至存储模块
[KAFKA-18164] - 当 shareAcknowledge 请求失败时,清空内存中的确认信息
[KAFKA-18165] - 仅在请求成功构建后更新 nodesWithPendingRequests
[KAFKA-18169] - 将 KIP-848 的 API 和记录标记为稳定
[KAFKA-18174] - 优雅地处理 hdr 直方图异常
[KAFKA-18178] - 删除ZkSecurityMigrator
[KAFKA-18179] - 将 AsyncOffsetReadFutureHolder 移至存储模块
[KAFKA-18186] - 将 sourceCompatibility 重新添加到 build.gradle,以允许 Idea 自动配置合适的语言级别
[KAFKA-18188] - 管理员 LeaveGroup 应允许使用消费者协议通过成员 ID 移除成员
[KAFKA-18192] - 生成器模块应在 Java 11 下运行
[KAFKA-18197] - 发送 ShareAcknowledge 之前检查 nodeToSend 是否为空。
[KAFKA-18226] - 禁用 CustomQuotaCallbackTest 并移除 `isKRaftTest`
[KAFKA-18229] - 将配置移出“kraft”目录
[KAFKA-18243] - 迁移到 log4j2 后,日志记录器无法使用根日志记录器
[KAFKA-18247] - 使用 log4j2 yaml 重写 KAFKA-18145 的修复代码
[KAFKA-18269] - 在 4.0 版本中移除已弃用的协议 API 支持 (KIP-724, KIP-896)
[KAFKA-18270] - SaslHandshake v0 和 FindCoordinator v0 被错误地标记为已弃用
[KAFKA-18272] - 已弃用的协议 API 使用情况应记录在信息级别
[KAFKA-18313] - 修复 Kraft 或移除SocketServerTest 中与 ZK Broker 配置关联的测试
[KAFKA-18314] - 修复 Kraft 问题或删除 KafkaApisTest 中与 ZK Broker 配置关联的测试
[KAFKA-18315] - 修复 Kraft 问题或删除 DynamicBrokerConfigTest、ReplicaManagerTest、DescribeTopicPartitionsRequestHandlerTest 和 KafkaConfigTest 中与 ZK Broker 配置关联的测试
[KAFKA-18316] - 修复 Kraft 问题或删除 ConnectionQuotasTest 中与 Zk Broker 配置关联的测试
[KAFKA-18317] - 从 RemoteLogManagerTest 中移除 zookeeper.connect
[KAFKA-18318] - 向迁移路径添加更多日志
[KAFKA-18320] - 确保分配器位于正确的位置
[KAFKA-18330] - 更新文档以消除控制器部署限制
[KAFKA-18331] - 将 process.roles 更新为所需配置
[KAFKA-18334] - Produce v4-v6 应该取消弃用
[KAFKA-18339] - 删除原始的未版本化的直接 SASL 协议 (KIP-896)
[KAFKA-18341] - 删除 KafkaConfig GroupType 配置检查和警告日志
[KAFKA-18352] - DeleteGroups v0 被错误地标记为已弃用
[KAFKA-18353] - 删除 zk 配置 `control.plane.listener.name`
[KAFKA-18359] - 在 LocalLeaderEndPointTest、HighwatermarkPersistenceTest、IsrExpirationTest、ReplicaManagerQuotasTest 和 OffsetsForLeaderEpochTest 中将 zkConnect 设置为 null
[KAFKA-18360] - 删除 zookeeper 配置
[KAFKA-18361] - 删除 PasswordEncoderConfigs
[KAFKA-18363] - 清理包含 zookeeper 的服务器配置文件
[KAFKA-18365] - 在测试中移除 zookeeper.connect
[KAFKA-18366] - 移除 KafkaConfig.interBrokerProtocolVersion
[KAFKA-18367] - 移除 ZkConfigManager
[KAFKA-18368] - 移除 TestUtils#MockZkConnect 并移除从 TestUtils#createBrokerConfig 中删除 zkConnect
[KAFKA-18373] - 删除 ZkMetadataCache
[KAFKA-18374] - 删除 EncryptingPasswordEncoder
[KAFKA-18383] - 删除 reserved.broker.max.id 和 broker.id.generation.enable
[KAFKA-18384] - 删除 ZkAlterPartitionManager
[KAFKA-18399] - 从 KafkaApis 中删除 ZooKeeper
[KAFKA-18405] - 从 DynamicBrokerConfig 中删除 ZooKeeper 逻辑
[KAFKA-18406] - 删除 ZkBrokerEpochManager
[KAFKA-18407] - 删除 ZkAdminManager、DelayedCreatePartitions、CreatePartitionsMetadata、ZkConfigRepository 和 DelayedDeleteTopics
[KAFKA-18411] - 删除ZkProducerIdManager
[KAFKA-18412] - 删除 EmbeddedZookeeper
[KAFKA-18413] - 删除 AdminZkClient
[KAFKA-18414] - 删除 KRaftRegistrationResult
[KAFKA-18417] - 删除controlled.shutdown.max.retries 和controlled.shutdown.retry.backoff.ms
[KAFKA-18423] - 删除 ZkData 及相关未使用的引用
[KAFKA-18425] - 删除 OffsetTrackingListener
[KAFKA-18426] - 删除 FinalizedFeatureChangeListener
[KAFKA-18427] - 删除 ZooKeeperClient
[KAFKA-18429] - 删除 ZkFinalizedFeatureCache 和 StateChangeFailedException
[KAFKA-18430] - 删除ZkNodeChangeNotificationListener
[KAFKA-18431] - 移除 KafkaController
[KAFKA-18432] - 从 AutoTopicCreationManager 中移除未使用的代码
[KAFKA-18435] - 在 build.gradle 中移除 Zookeeper 依赖项
[KAFKA-18437] - 将 ShareUpdateValue 记录的版本从 v1 更正为 v0
[KAFKA-18443] - 移除 ZkFourLetterWords
[KAFKA-18445] - 移除 LazyDownConversionRecords 和 LazyDownConversionRecordsSend
[KAFKA-18446] - 移除 MetadataCacheControllerNodeProvider
[KAFKA-18449] - 将 share-group 状态配置添加到 reconfigure-server.properties
[KAFKA-18472] - 移除 MetadataSupport
[KAFKA-18474] - 移除 zkBroker听众
[KAFKA-18485] - 更新 log4j2.yaml
[KAFKA-18487] - 删除 ReplicaManager#stopReplicas
[KAFKA-18491] - 从 ReplicaManager 中删除 zkClient 和 perhapsUpdateMetadataCache
[KAFKA-18492] - 清理 RequestHandlerHelper
[KAFKA-18499] - 清理 LogConfig
[KAFKA-18502] - 删除 kafka.controller.Election
[KAFKA-18503] - 删除 TopicDeletionManager
[KAFKA-18505] - 删除 ControllerEventManager
[KAFKA-18506] - 删除 ControllerState
[KAFKA-18510] - 删除 ControllerChannelContext
[KAFKA-18511] - 删除 ControllerChannelManager
[KAFKA-18512] - 删除ReplicaStateMachine
[KAFKA-18514] - 将共享模块重构为服务器和服务器通用模块
[KAFKA-18515] - 删除 DelegationTokenManagerZk
[KAFKA-18516] - 删除 RackAwareMode
[KAFKA-18517] - 异步消费者应运行 ConsumerBounceTest
[KAFKA-18519] - 删除 Json.scala 并清理 AclEntry.scala
[KAFKA-18520] - 从 JaasUtils 中移除 ZooKeeper 逻辑
[KAFKA-18521] - 清理 NodeApiVersions 的 zkMigrationEnabled 字段
[KAFKA-18528] - 异步消费者应运行 MultipleListenersWithSameSecurityProtocolBaseTest 和 GssapiAuthenticationTest
[KAFKA-18530] - 删除ZooKeeperInternals
[KAFKA-18532] - 清理 Partition.scala zookeeper 逻辑
[KAFKA-18533] - 删除 KafkaConfig zookeeper 相关逻辑
[KAFKA-18539] - KafkaAPIs 需要 sharePartitionManager 和 clientMetricsManager
[KAFKA-18540] - 删除 KafkaApisTest 中的 UpdataMetadataRequest
[KAFKA-18542] - 清理 AlterPartitionManager
[KAFKA-18553] - 更新 ConfigType 的 Javadoc 和注释
[KAFKA-18556] - 删除 JaasModule#zkDigestModule、JaasTestUtils#zkSections 及其用法
[KAFKA-18565] - 清理 SaslSetup
[KAFKA-18578] - 删除MetadataCacheTest
[KAFKA-18588] - 删除 TopicKey.scala
[KAFKA-18589] - 清理 GroupMetadataManager
[KAFKA-18591] - 删除 QuotaConfgHandler
[KAFKA-18595] - 删除 AuthorizerUtils#sessionToRequestContext
[KAFKA-18599] - 删除 ApiVersionManager 中可选的 ForwardingManager
[KAFKA-18611] - 更新 MV,在 4.0 版本中默认启用事务版本 2
[KAFKA-18622] - 为新消费者启用 ConsumerBounceTest testClose
[KAFKA-18623] - 为新消费者启用 ConsumerBounceTest testCloseDuringRebalance
[KAFKA-18631] - 删除 ZkConfigs
[KAFKA-18646] - 空记录会破坏 librdkafka
[KAFKA-18648] - kafka-python 需要元数据请求版本 0
[KAFKA-18655] - 使用计划任务实现消费者组大小计数器
[KAFKA-18659] - librdkafka 压缩生产失败,除非 api 版本返回 produce v0
[KAFKA-18672] - CoordinatorRecordSerde 必须验证值版本
[KAFKA-18674] - 记录解析 bootstrap.servers 的不兼容更改
[KAFKA-18675] - 为 KAFKA-18171 添加单元测试,以验证 bootstrap.servers 的解析器
[KAFKA-18676] - 更新基准系统测试
[KAFKA-18677] - 更新 ConsoleConsumerTest 系统测试
[KAFKA-18678] - 更新 TestVerifiableProducer 系统测试
[KAFKA-18741] - 记录删除`inter.broker.protocol.version`
[KAFKA-18829] - 当 poll 返回空批次时,无法使用显式确认
[KAFKA-18860] - 澄清 KRaft 缺失的功能
[KAFKA-18886] - 为 zk2kraft 添加 CreateTopicPolicy 和 AlterConfigPolicy 的行为变更
[KAFKA-18908] - 附加值的大小不能大于 Short.MAX_VALUE
[KAFKA-18919] - 澄清 KafkaPrincipalBuilder 类也必须实现 KafkaPrincipalSerde