发行说明 - Kafka - 0.10.2.0版本

半兽人 发表于: 2017-03-19   最后更新时间: 2020-08-17 19:20:22  
{{totalSubscript}} 订阅, 6,552 游览

下面是0.10.2.0版本发布解决关于Kafka的JIRA问题汇总。有关发布的完整文档,入门指南和项目信息,请参见Kafka项目地址,或kafka中文教程

关于升级注意事项:在升级集群之前,请仔细阅读本发布的升级文档。关于不兼容性和突破性的更改,性能变化以及其他可能影响Kafka生产部署的重要信息。

新特色

[KAFKA-3452] - 支持session窗口
[KAFKA-3537] -ProcessorContext中提供对低级别度量的访问
[KAFKA-4259] - 为没有配置文件的Kafka客户端启用JAAS配置
[KAFKA-4490] -Kafka Streams提供Global Table支持

改进

[KAFKA-2247] - 合并 kafka.utils.Time 和 kafka.common.utils.Time
[KAFKA-3008] - Connect并行任务的启动/停止
[KAFKA-3144] - 在ConsumerGroupCommand中报告没有分配分区的成员
[KAFKA-3209] - 在Kafka Connect中支持单个消息转换
[KAFKA-3284] - 考虑删除安全文档中的beta标签
[KAFKA-3304] - KIP-35 - 恢复协议版本
[KAFKA-3462] - 允许SinkTasks禁用消费者offset提交
[KAFKA-3559] - 任务创建时间在重新平衡回调中花费的时间过长
[KAFKA-3637] - 添加方法,用于检查流是否已初始化
[KAFKA-3701] - 在公共API暴露KafkaStreams度量
[KAFKA-3715] - 更高的粒度的流度量
[KAFKA-3751] - 增加对SASL/SCRAM机制的支持
[KAFKA-3829] - 警告kafka-connect group.id不得与连接器名称冲突
[KAFKA-3857] - 其他日志清除器度量
[KAFKA-4010] - ConfigDef.toRst()为每个组创建段
[KAFKA-4092] - retention.bytes不应小于segment.bytes
[KAFKA-4140] - 更新系统测试以允许并行运行测试
[KAFKA-4161] - 解耦 flush 和 offset commits
[KAFKA-4182] - 将变更logger从RocksDB存储中移除
[KAFKA-4211] - 默认情况下,更改系统测试以用于新消费者
[KAFKA-4250] - 使 ProducerRecord 和 ConsumerRecord 可扩展
[KAFKA-4261] - 在vagrant-up.sh中提供debug选项
[KAFKA-4272] - `bin/windows/`缺少Kafka Connect批处理脚本
[KAFKA-4301] - 包括一些SSL/TLS日志记录,以避免每次出现问题时需要使用javax debug util
[KAFKA-4302] - 简化KTableSource
[KAFKA-4319] - 加速关闭AbstractFetcherManager
[KAFKA-4326] - 重构 LogCleaner以移除重复的日志复制逻辑
[KAFKA-4331] - Kafka Streams充值很慢,应为它为每个topic加入相同的分组
[KAFKA-4359] - Streams集合测试不应该使用提交间隔1
[KAFKA-4376] - 增加 scala 2.12 支持
[KAFKA-4379] - 从StoreChangeLogger移除脏缓存和key
[KAFKA-4390] - client-side等效替换MessageSet
[KAFKA-4393] - 提高 invalid/negative TS 处理
[KAFKA-4397] - 为线程安全,重构Connect仓库回退
[KAFKA-4402] - Kafka生产者的DefaultPartitioner实际上不是循环,如代码中所注释:“如果没有分区或key,则以循环的方式选择分区”
[KAFKA-4404] - 将sign添加到数值模式类型
[KAFKA-4417] - 更新0.10.2周期的构建依赖关系
[KAFKA-4420] - 将相同broker上的分区的StopReplicaRequests分组置入1个StopReplicaRequests中
[KAFKA-4426] - 增加 consumer.close(timeout, unit)方法,以便超时关闭
[KAFKA-4429] - 如果FetchResponse是空,落后的记录应为0
[KAFKA-4432] - ProducerPerformance.java:添加支持,以提供自定义消息负载。
[KAFKA-4445] - PreferredLeaderElectionCommand每个主题应仅查询zk一次
[KAFKA-4447] - 控制器已经退出, 但需要等一段时间
[KAFKA-4458] - 针对同步和分配的副本计数添加每个分区度量
[KAFKA-4462] - 改善Kafka Client兼容性策略
[KAFKA-4500] - 改进Kafka代码
[KAFKA-4568] - 简化SaslTestHarness中的多机制支持
[KAFKA-4581] - 如果在sasl.jaas.config中指定了多个登录模块,则会正常失败
[KAFKA-4584] - 如果要删除的配置不存在,则“kafka-configs”命令失败
[KAFKA-4591] - 创建 Topic 策略
[KAFKA-4613] - 以相同的方式处理空key记录(join和聚合)。
[KAFKA-4614] - 长GC暂停损伤broker性能,是由OffsetIndex创建的mmap对象引起的。
[KAFKA-4684] - 不在Windows中configs.bat
[KAFKA-4688] - Kafka 0.10.1.1应该在系统测试中可用
[KAFKA-4727] - 生产服务器配置需要更新
[KAFKA-4734] - 旧段上的时间索引未修剪为实际大小

Bug

[KAFKA-2000] - 删除主题后从kafka删除消费者偏移量
[KAFKA-2172] - 循环分配分区太限制
[KAFKA-3175] - 主题在删除后不可访问,即使禁用delete.topic.enable
[KAFKA-3590] - 当KafkaConsumer故障,投票时“消息被拒绝,由于同步副本比所需副本少”
[KAFKA-3703] - acks=0的消费者和生产者处理正常关闭
[KAFKA-3739] - 为库提供的serdes添加无参构造
[KAFKA-3782] - 使用kafkatest.tests.connect.connect_distributed_test.ConnectDistributedTest.test_bounce.clean = True的瞬时故障
[KAFKA-3825] - 允许用户在Streams DSL中指定不同类型的状态存储
[KAFKA-3835] - Streams为每个通过RecordCollector发送的创建两个ProducerRecords
[KAFKA-3853] - 在ConsumerGroupCommand中报告空组的偏移量
[KAFKA-3994] - 消费者心跳到期和偏移提交之间的死锁。
[KAFKA-4000] - 每个主题的消费者不会聚合来自同一主题的分区
[KAFKA-4001] - 改进Kafka Streams Join (KIP-77)
[KAFKA-4024] - 首次元数据更新始终要在retry.backoff.ms毫秒才能完成
[KAFKA-4060] - 在Kafka Stream中移除ZkClient依赖
[KAFKA-4081] - Consumer API消费者新接口commitSyn不验证offset的有效性
[KAFKA-4117] - 清理StreamPartitionAssignor行为
[KAFKA-4154] - 如果尚未完成启动,Kafka Connect将无法关闭
[KAFKA-4166] - TestMirrorMakerService.test_bounce短暂的系统测试失败
[KAFKA-4176] - 一旦另一个节点在同一组中启动,节点就停止接收心跳响应
[KAFKA-4180] - 与多个活动Kafka生产者/消费者的共享认证
[KAFKA-4193] - FetcherTest间歇性故障
[KAFKA-4229] - 控制器在几个zk过期事件后无法启动
[KAFKA-4233] - 如果父目录不存在,StateDirectory无法创建目录
[KAFKA-4241] - StreamsConfig不将自定义的消费者和生产者属性传递给ConsumerConfig和ProducerConfig
[KAFKA-4251] - 测试驱动不在 Vagrant 1.8.6 启动
[KAFKA-4253] - 修复Kafka Stream线程关闭进程顺序
[KAFKA-4269] - 具有至少一个正则表达式源的多个KStream实例在使用多个消费者时导致NPE
[KAFKA-4271] - 控制台消费者在Windows上失败,使用新的消费者
[KAFKA-4275] - 未启用对处理器节点的状态存储分配的检查
[KAFKA-4283] - 从CachingKeyValueStore中删除的记录仍然出现在范围和所有查询中
[KAFKA-4284] - 分区器绝不会被生产者关闭
[KAFKA-4286] - 度量报告器可能在关闭期间命中NullPointerException
[KAFKA-4289] - CPU浪费在反射调用初始化短暂生命周期的日志记录器
[KAFKA-4290] - 在WorkerCoordinator中超时溢出引起的高CPU
[KAFKA-4296] - LogCleaner CleanerStats交换逻辑似乎不正确
[KAFKA-4306] - 如果broker不可用,Connect工作程序将不会关闭
[KAFKA-4309] - 在系统测试中的KafkaService中允许“可插入”属性
[KAFKA-4311] - 多层缓存逐步导致转发到不正确的ProcessorNode
[KAFKA-4312] - 当filePath为空 void KTableImpl.writeAsText(String filePath) 抛出 NullPointerException 
[KAFKA-4313] - 启用复制配额时,ISR可能会发生抖动
[KAFKA-4318] - 将ProducerSendTest迁移到新的消费者
[KAFKA-4334] - SinkRecord中的HashCode不处理空时间戳,检查值
[KAFKA-4339] - ConsumerGroupCommand系统测试失败
[KAFKA-4349] - 当组状态为PreparingRebalance时,用户组描述异常
[KAFKA-4351] - 使用MirrorMaker新消费者主题正则表达式行为更改
[KAFKA-4355] - 当broker重新启动时,StreamThread会间歇性地出现“分区分配期间找不到主题”
[KAFKA-4357] - 使用者组描述异常,当没有活动成员(旧消费者)
[KAFKA-4360] - 当autoLeaderRebalance遇到zk过期时,控制器可能会死锁
[KAFKA-4361] - Streams 不respect“默认”参数的用户配置
[KAFKA-4364] - 任务在DEBUG日志记录中暴露了一些秘密。
[KAFKA-4366] - KafkaStreams.close()无限期阻塞
[KAFKA-4372] - Kafka Connect REST API不处理名称中带有斜杠的连接器的DELETE
[KAFKA-4375] - Kafka消费者可能吃掉一些线程调用中断。
[KAFKA-4384] - ReplicaFetcherThread停止后ReplicaFetcherThread接收到损坏的消息
[KAFKA-4387] - 如果轮询线程中断,KafkaConsumer将进入无限循环,并且会调用commitSync或committed
[KAFKA-4392] - 由于意外异常而无法锁定状态目录
[KAFKA-4395] - KafkaConfig和LogConfig不应该具有静态初始化顺序依赖性
[KAFKA-4399] - cleanupGroupMetadata和偏移提交之间的死锁
[KAFKA-4403] - 更新KafkaBasedLog以使用新的endOffsets consumer API
[KAFKA-4405] - 避免不必要地调用pollNoWakeup
[KAFKA-4415] - 减少创建和发送MetadataUpdateRequest的时间
[KAFKA-4427] - 跳过没有任务的主题组
[KAFKA-4428] - 在启动期间收到“地址已在使用”错误时,Kafka不退出
[KAFKA-4431] - HeartbeatThread应该是一个守护线程
[KAFKA-4434] - KafkaProducer配置被记录两次
[KAFKA-4438] - BACKPORT - 添加 scala 2.12 支持
[KAFKA-4441] - 在快速创建和删除主题期间,Kafka监控不正确
[KAFKA-4443] - 控制器应在故障切换期间,在LeaderAndIsrRequest之前发送UpdateMetadataRequest
[KAFKA-4450] - 添加缺少的0.10.1.x升级测试,并确保持续的兼容性检查
[KAFKA-4451] - 恢复空副本会在紧凑分区的索引中产生负偏移
[KAFKA-4455] - 重新平衡期间的CommitFailedException不会释放任务/处理器中的资源
[KAFKA-4472] - offsetRetentionMs在GroupCoordinator中计算错误
[KAFKA-4473] - RecordCollector应该更严格地处理可重试的异常
[KAFKA-4476] - 如果元数据丢失,Kafka Streams被阻塞
[KAFKA-4480] - kafka-configs将执行无效属性的删除,而不报告错误
[KAFKA-4481] - 放宽 Kafka Streams API 类型约束
[KAFKA-4483] - NPE在“Log”构造函数中,如果日志级别为INFO或更细
[KAFKA-4485] - 如果其FetchRequest已提取到领导的logEndOffset,则跟随者应该在isr中
[KAFKA-4486] - Kafka Streams - 异常处理仍然提交偏移
[KAFKA-4488] - StandbyTask初始化期间的UnsupportedOperationException
[KAFKA-4492] - java.lang.IllegalStateException:尝试将一个干净的条目key ... ...到NamedCache
[KAFKA-4509] - 重新平衡任务重用对同一主机上的线程失败
[KAFKA-4510] - StreamThread必须在状态PENDING_SHUTDOWN中完成重新平衡
[KAFKA-4516] - 当CachingStateStore关闭时,它应该清除其关联的NamedCache。 随后查询应该抛出InvalidStateStoreException
[KAFKA-4521] - 在重新平衡期间,在释放分区所有权之前,MirrorMaker应刷新所有消息
[KAFKA-4523] - 如果消费者分组在关闭期间重新稳定,则关闭失败
[KAFKA-4526] - ThrottlingTest.test_throttled_reassignment的短暂故障
[KAFKA-4527] - 暂停的连接器生成消息时ConnectDistributedTest.test_pause_and_resume_sink的短暂故障
[KAFKA-4532] - StateStores可以连接到错误的源主题,导致从IQ返回的元数据不正确
[KAFKA-4534] - StreamPartitionAssignor只更新一次partitionsByHostState和metadataWithInternalTopics。
[KAFKA-4537] - StreamPartitionAssignor将不正确地的备用分区添加到partitionsByHostState映射
[KAFKA-4539] - StreamThread没有正确创建StandbyTasks
[KAFKA-4540] - 未分配给StreamThread的挂起任务需要在创建新的活动和备用任务之前关闭
[KAFKA-4547] - Consumer.position对Kafka 0.10.1.0客户端返回不正确的结果
[KAFKA-4549] - 如果flush()在close()之前没有调用,KafkaLZ4OutputStream将不写入EndMark
[KAFKA-4551] - StreamsSmokeTest.test_streams间歇性故障
[KAFKA-4552] - README.md有org.gradle.project.maxParallelForms,而不是maxParallelForks
[KAFKA-4553] - Connect的循环分配产生不期望的连接器/任务分布
[KAFKA-4554] - ReplicaBuffer.verifyChecksum应该使用iterators而不是iterables
[KAFKA-4557] - ConcurrentModificationException在KafkaProducer事件循环中
[KAFKA-4558] - 如果生产者启动太快,throtting_test将失败。
[KAFKA-4561] - StreamThread.shutdownTasksAndState中的操作排序可能“至少一次”保障
[KAFKA-4565] - 内部和外部信息的分离(KIP-103)
[KAFKA-4576] - 接近最大大小的日志段在提取时中断
[KAFKA-4596] - KIP-73重新平衡调节打破特定分区的计划
[KAFKA-4597] - 由生产者返回的记录元数据不考虑日志附加时间
[KAFKA-4619] - 不允许在TransformValues中输出具有未知键的记录
[KAFKA-4622] - KafkaConsumer没有正确处理来自offset提取认证的错误。
[KAFKA-4627] - 在消费者关闭测试中间歇性测试失败
[KAFKA-4633] - 始终使用正则表达式模式订阅以避免自动创建主题
[KAFKA-4671] - 修复流窗口保留策略
[KAFKA-4672] - KIP-100 api更改在某些情况下会中断Java 8 lambda表达式
[KAFKA-4673] - Python VerifiableConsumer服务对event_handlers有线程安全错误
[KAFKA-4687] - InvalidTopicException可能在并发创建时与主题本身冲突
[KAFKA-4698] - `-target:jvm-1.7`在scalaCompileOptions似乎导致java.lang.VerifyError,当加载kafka/client/ClientUtils时
[KAFKA-4699] - PlaintextConsumerTest.testInterceptros短暂故障
[KAFKA-4700] - StreamsKafkaClient丢弃安全配置
[KAFKA-4704] - 如果groupId首先用于消费者分组,然后用于简单消费者,则分组协调器缓存加载失败
[KAFKA-4716] - 修复用于重新检查内部主题是否就绪的逻辑
[KAFKA-4717] - 连接jar缺少LICENSE / NOTICE文件
[KAFKA-4719] - 在OffsetValidationTest.test_broker_failure中消费超时等待
[KAFKA-4725] - 当生产者长时间超过限制配额时,OOM对Kafka代理失败
[KAFKA-4756] - 自动生成的代理标识应传给MetricReporter.configure
[KAFKA-4761] - 如果生产者配置batch.size = 0 ,则报NullPointerException

Task

[KAFKA-4363] - 为动态JAAS配置属性sasl.jaas.config添加文档
[KAFKA-4381] - 向KafkaConsumer添加每个分区滞后指标。
[KAFKA-4578] - 0.10.2.0升级注意事项
[KAFKA-4589] - 为SASL/SCRAM添加文档
[KAFKA-4590] - 为SASL/SCRAM添加系统测试
[KAFKA-4626] - 添加的消费者关闭变化的升级注释
[KAFKA-4679] - 从Connect API移除不稳定标记

测试

[KAFKA-4209] - 减少运行配额集成测试所需的时间
[KAFKA-4575] - 恢复sink连接器后消费消息中的ConnectDistributedTest.test_pause_and_resume_sink中的瞬时故障
[KAFKA-4580] - 将一个SASL系统测试更改为使用新的JAAS配置属性

子任务

[KAFKA-2066] - 将FetchRequest / FetchResponse替换为其org.apache.kafka.common.requests等效项
[KAFKA-2089] - MetadataTest瞬时故障
[KAFKA-2434] - 删除消费者协调器中的循环相同主题约束(旧API)
[KAFKA-3502] - 在kafka流测试期间,由于“纯虚拟方法调用”错误,构建被终止
[KAFKA-3600] - 提高java客户端,使用ApiVersion Req / Resp检查他们正在运行的broker是否支持所需的API版本
[KAFKA-3708] - 在KafkaStreams中重新思考异常处理
[KAFKA-3896] - 不稳定测试KStreamRepartitionJoinTest.shouldCorrectlyRepartitionOnJoinOperations
[KAFKA-4058] - org.apache.kafka.streams.integration.ResetIntegrationTest.testReprocessingFromScratchAfterReset中的故障
[KAFKA-4114] - 允许针对不同输入流使用不同的“auto.offset.reset”策略
[KAFKA-4352] - org.apache.kafka.streams.integration.ResetIntegrationTest.testReprocessingFromScratchAfterReset中的失败
[KAFKA-4377] - 删除已弃用的scala.collection.JavaConversions
[KAFKA-4457] - 添加命令,列出broker版本信息
[KAFKA-4465] - 创建docker映像和脚本以在本地运行测试
[KAFKA-4466] - 添加支持,可仅运行所有测试的一部分
[KAFKA-4507] - 如果需要,客户端应将较旧版本的请求发送到broker
[KAFKA-4508] - 创建针对较旧版本的broker运行客户端的系统测试
[KAFKA-4528] - 在kafka.producer.ProducerTest.testAsyncSendCanCorrectlyFailWithTimeout的故障
[KAFKA-4548] - 添加CompatibilityTest以验证我们连接的broker是否支持各个功能
[KAFKA-4583] - KafkaConsumerTest.testGracefulClose短暂故障
[KAFKA-4588] - QueryableStateIntegrationTest.shouldNotMakeStoreAvailableUntilAllStoresAvailable偶尔会在jenkins失败
[KAFKA-4630] - 在与前KIP-74代理通信时实现RecordTooLargeException
[KAFKA-4635] - 客户端后续兼容性
[KAFKA-4644] - 提高StreamsPartitionAssignor的测试覆盖率
[KAFKA-4664] - 使用KIP-97信息更新docs / protocol.html
更新于 2020-08-17

查看kafka更多相关的文章或提一个关于kafka的问题,也可以与我们一起分享文章