发布通知 - Kafka - 2.1.0版本

半兽人 发表于: 2018-12-10   最后更新时间: 2019-07-13 15:22:39  
{{totalSubscript}} 订阅, 4,058 游览

发布通知 - Kafka -2.1.0版本

2018年11月20号,发布Kafka 2.1.0,以下在2.1.0版本中解决JIRA问题的摘要。有关该版本的完整文档,入门指南以及关于该项目的信息,请参与Kafka官方文档,或Kafka中文教程

有关升级的注意事项:在升级你的集群之前,请仔细阅读此版本的升级文档。升级有关不兼容性和破坏性的变更,性能变化以及可能影响Kakfa生产的任何其他变化。

新功能

[KAFKA-7027] - 重载StreamsBuilder构建方法接受`java.util.Properties`

改进

[KAFKA-4514] - 为ZStandard压缩添加编解码器
[KAFKA-4932] - 增加UUID Serde
[KAFKA-5886] - 介绍delivery.timeout.ms生成器配置(KIP-91)
[KAFKA-5928] - 重新分配主题分区时,避免对zookeeper冗余请求
[KAFKA-6195] - DNS别名支持安全连接
[KAFKA-6432] - 查找索引可能会导致不必要的页面错误
[KAFKA-6437] - Streams不会警告缺少输入主题,而是挂起
[KAFKA-6591] - 在ACL评估之前,在SimpleAclProvider中移动对超级用户的检查
[KAFKA-6684] - 支持使用字节模式转换为字符串
[KAFKA-6751] - 使max.connections.per.ip.overrides成为动态配置
[KAFKA-6753] - 加速控制器上的事件处理
[KAFKA-6761] - 减少Kafka Streams足迹
[KAFKA-6863] - 如果第一个IP地址失败,Kafka客户端应尝试使用多个DNS解析的IP地址
[KAFKA-6880] - Zombie副本必须fenced
[KAFKA-6884] - ConsumerGroupCommand使用新的AdminClient
[KAFKA-6914] - Kafka Connect - Plugins类应该有一个可以接受父ClassLoader的构造函数
[KAFKA-6923] - 合并ExtendedSerializer/Serializer和ExtendedDeserializer/Deserializer
[KAFKA-6926] - 减少Connect中的NPath异常
[KAFKA-6950] - 添加机制以延迟响应失败的客户端身份验证
[KAFKA-6978] - 使Streams窗口保留时间严格
[KAFKA-6986] - 通过Stream Threads导出Admin Client指标
[KAFKA-6998] - 如果cache-size配置为零字节,则删除缓存包装器存储
[KAFKA-6999] - 记录启用缓存的仓库的读写锁使用情况
[KAFKA-7009] - 在系统测试中警告级别的reflections.org无日志
[KAFKA-7019] - 减少元数据更新和元数据读取操作之间的争用
[KAFKA-7101] - 会话窗口存储应该设置主题策略`compact,cleanup`
[KAFKA-7117] - 允许AclCommand使用AdminClient API
[KAFKA-7126] - 创建主题后,减少大型消费者组的重新平衡次数
[KAFKA-7131] - 更新发布脚本以生成公告电子邮件文本
[KAFKA-7147] - 允许kafka-reassign-partitions.sh和kafka-log-dirs.sh获取admin客户端属性文件
[KAFKA-7152] - 如果LEO等于leader的LEO,则副本应该是同步的
[KAFKA-7161] - KTable Reduce应检查无效条件
[KAFKA-7169] - 在OAuth身份验证中添加对自定义SASL扩展的支持
[KAFKA-7198] - 增强KafkaStreams启动方法javadoc
[KAFKA-7207] - 使费率和总指标文档保持一致
[KAFKA-7210] - 添加系统测试以进行日志压缩
[KAFKA-7211] - MM应该在commitSync中处理超时
[KAFKA-7215] - 在出错时改进LogCleaner行为
[KAFKA-7222] - KIP-328:添加窗口宽限期(并弃用窗口保留)
[KAFKA-7264] - 初始化的Kafka对Java 11的支持
[KAFKA-7266] - 修复MetricsTest测试片状
[KAFKA-7269] - KStream.merge没有文档
[KAFKA-7277] - 将Streams API迁移到Duration而不是longMs
[KAFKA-7278] - replaceSegments()不应从已经删除的段列表中调用asyncDeleteSegment()
[KAFKA-7285] - 在EOS下的任务暂停期间,流应该对防护更敏感
[KAFKA-7313] - 仅当将来的副本存在时,StopReplicaRequest才会尝试删除该分区的未来副本
[KAFKA-7326] - 让KStream.print()在每条打印行上刷新
[KAFKA-7332] - 尝试生成没有密钥的压缩主题的消息时改进错误消息
[KAFKA-7394] - 允许OffsetsForLeaderEpoch使用主题描述ACL(KIP-320)请求
[KAFKA-7395] - 将fencing添加到复制协议 (KIP-320)
[KAFKA-7396] - KIP-365: Materialized, Serialized, Joined, Consumed and Produced使用隐式Serde
[KAFKA-7399] - Streams-Scala中的FunctionConversions应该是私有的
[KAFKA-7406] - Naming Join 和 Grouping Repartition Topics
[KAFKA-7414] - 在副本获取中,超出范围不应导致broker失败。
[KAFKA-7429] - 使用相同的文件名/密码启用动态密钥/信任库更新
[KAFKA-7430] - 改进Transformer接口JavaDoc
[KAFKA-7437] - 在偏移提交元数据中存储leader epoch
[KAFKA-7441] - 允许同时使用LogCleanerManager.resumeCleaning()
[KAFKA-7454] - 对SslTransportLayer缓冲区使用延迟分配
[KAFKA-7456] - Streams DSL中的Serde继承
[KAFKA-7475] - 打印实际的集群引导程序
[KAFKA-7477] - 改进Streams关闭超时语义
[KAFKA-7559] - ConnectStandaloneFileTest系统测试未通过

Bug

[KAFKA-1420] - 在单元测试中用TestUtils.createTopic替换AdminUtils.createOrUpdateTopicPartitionAssignmentPathInZK
[KAFKA-3097] - PrincipalType用户的Acls区分大小写
[KAFKA-3514] - 流时间戳计算需要一些进一步的想法
[KAFKA-4682] - 如果消费者仍处于活动状态,则不应删除已提交的偏移量 (KIP-211)
[KAFKA-4950] - 迭代Kafka Metrics时出现ConcurrentModificationException
[KAFKA-4994] - 修复关于OffsetStorageWriter#currentFlushId的findbugs警告
[KAFKA-5037] - 如果启动时所有输入topic都未知,则无限循环
[KAFKA-5066] - 文档中特别缺少KafkaMetricsConfig属性和描述
[KAFKA-5098] - 如果topic名称具有非法char,KafkaProducer.send()将阻止并生成TimeoutException
[KAFKA-5638] - 与消费者组相关的ACL不一致
[KAFKA-5690] - kafka-acls命令应该能够按主体列出
[KAFKA-5975] - 删除主题时没有响应,delete.topic.enable=false
[KAFKA-6123] - 为客户端MetricsReporter自动生成client.id
[KAFKA-6327] - 生成RocksDBException时,RocksDB中的IllegalArgumentException异常
[KAFKA-6343] - OOM是创建5k主题的结果
[KAFKA-6415] - 从生产者网络线程登录时,KafkaLog4jAppender死锁
[KAFKA-6587] - 当无法访问内部主题时,Kafka Streams会挂起
[KAFKA-6620] - 有关“exact_once”的文档未提及“transaction.state.log.min.isr”
[KAFKA-6648] - Fetcher.getTopicMetadata()应返回每个请求topic的所有分区
[KAFKA-6859] - 跟随者不应该为未定义的leader epochs 发送OffsetForLeaderEpoch
[KAFKA-6966] - 扩展`TopologyDescription.Sink`以返回`TopicNameExtractor`
[KAFKA-6991] - 使用类加载器连接Rest Extension插件问题
[KAFKA-7031] - Kafka Connect API模块依赖于Jersey
[KAFKA-7043] - 连接隔离白名单不包括新的原始转换器 (KIP-305)
[KAFKA-7044] - kafka-consumer-groups.sh描述循环或粘性赋值程序的NullPointerException
[KAFKA-7047] - 连接隔离白名单不包括SimpleHeaderConverter
[KAFKA-7056] - Connect的新数字转换器应该在不同的包中
[KAFKA-7058] - 对于数组类型的默认值,ConnectSchema#equals()已中断
[KAFKA-7068] - ConfigTransformer不处理空值
[KAFKA-7072] - Kafka Streams可能会在它们到期之前丢掉rocksb窗口段
[KAFKA-7080] - WindowStoreBuilder错误地初始化CachingWindowStore
[KAFKA-7097] - 使用--message-create-time参数,VerifiableProducer无法正常工作
[KAFKA-7103] - 在init期间使用RocksDBSegmentedBytesStore的批量加载
[KAFKA-7119] - GSSAPI身份验证失败导致间歇性测试失败
[KAFKA-7128] - 延迟过高可能导致ISR扩展后已提交的数据丢失
[KAFKA-7134] - KafkaLog4jAppender - Appender异常传播给调用者
[KAFKA-7141] - kafka-consumer-group 没有描述现有的组
[KAFKA-7144] - Kafka Streams没有正确平衡分区分配
[KAFKA-7158] - 使用缓存搜索kafka流状态存储时重复
[KAFKA-7164] - Follower应该在每个leader时期变化后截断
[KAFKA-7180] - 在testHWCheckpointWithFailuresSingleLogSegment中,等到server1加入ISR,然后关闭server2
[KAFKA-7192] - 状态存储可以与更改日志失去同步
[KAFKA-7196] - 在每次重新平衡结束时,为已删除的消费者删除心跳延迟操作
[KAFKA-7216] - 从1.0环境到目标1.1.1时,kafka-acls.sh运行异常。
[KAFKA-7225] - 验证前未调用Kafka Connect ConfigProvider
[KAFKA-7240] - -Streams中的总指标不正确
[KAFKA-7242] - 任务配置中显示外部化机密
[KAFKA-7247] - Apache BookKeeper项目的链接已断开
[KAFKA-7250] - Kafka-Streams-Scala DSL转换共享变换器实例
[KAFKA-7255] - SimpleAclAuthorizer中的计时问题与并发创建/更新
[KAFKA-7261] - 请求和响应总指标记录字节而不是请求计数
[KAFKA-7280] - 在心跳线程中的FetchSessionHandler的ConcurrentModificationException异常
[KAFKA-7284] - 生产者获得fenced可能会导致Streams关闭
[KAFKA-7286] - 加载偏移量和组元数据会挂起大型组元数据记录
[KAFKA-7287] - 为旧的使用者znode路径设置开放ACL权限
[KAFKA-7288] - SslSelectorTest.testCloseConnectionInClosingState中的瞬态故障
[KAFKA-7301] - 在Scala DSL中无法解析KTable到KTable连接调用
[KAFKA-7311] - Sender应重置轮询poll之间的下一个批次的过期时间
[KAFKA-7316] - 在KTable.scala中使用filter方法可能会导致StackOverflowError
[KAFKA-7322] - 更新主题清理策略时,修复日志清理程序线程和日志保留线程之间的竞争条件
[KAFKA-7324] - NPE由于SASL/OAUTHBEARER中缺少SASLExtensions
[KAFKA-7333] - KIP-320的协议更改
[KAFKA-7347] - 从非副本返回OffsetsForLeaderEpoch的错误代码错误
[KAFKA-7353] - 将日志“this”连接到匿名内部类
[KAFKA-7354] - 修复IdlePercent和NetworkProcessorAvgIdlePercent指标计算
[KAFKA-7366] - 主题级别segment.bytes和segment.ms不会立即生效
[KAFKA-7369] - 尽可能在AdminClient.listConsumerGroups中重试
[KAFKA-7379] - 应该允许send.buffer.bytes在KafkaStreams中设置-1
[KAFKA-7386] - Streams Scala包装器不应该缓存serdes
[KAFKA-7388] - 属性值中的等号会导致broker失败
[KAFKA-7400] - 不会清除在日志开始偏移之前的压缩主题段
[KAFKA-7403] - 升级经纪人通过KIP-211 / KAFKA-4682后,抵消提交失败
[KAFKA-7409] - 在创建主题之前验证主题配置
[KAFKA-7415] - OffsetsForLeaderEpoch可能会错误地响应未定义的纪元,导致截断到HW
[KAFKA-7434] - 如果转换抛出NPE,DeadLetterQueueReporter会抛出NPE
[KAFKA-7453] - 启用从未选择的连接的空闲到期时间
[KAFKA-7459] - 更新RequestsPerSec指标时的并发错误
[KAFKA-7460] - Connect Values转换器使用错误的日期格式字符串
[KAFKA-7462] - Kafka borker无法在没有令牌的情况下提供OAuth
[KAFKA-7464] - 在broker清理关闭期间无法关闭ReplicaManager
[KAFKA-7467] - 引发NoSuchElementException是因为controlBatch为空
[KAFKA-7476] - SchemaProjector未正确处理基于日期的逻辑类型
[KAFKA-7482] - 应将LeaderAndIsrRequest发送给关闭的broker
[KAFKA-7483] - Streams应该允许header传递给Serializer
[KAFKA-7484] - 修复测试SuppressionDurabilityIntegrationTest.shouldRecoverBufferAfterShutdown()
[KAFKA-7485] - 片测试 `DyanamicBrokerReconfigurationTest.testTrustStoreAlter`
[KAFKA-7496] - KafkaAdminClient#describeAcls 应该优雅地处理无效的过滤器
[KAFKA-7498] - common.requests.CreatePartitionsRequest使用clients.admin.NewPartitions

Task

[KAFKA-5887] -findBugs替换为spotBugs以支持Java 9+
[KAFKA-6835] - 启用主题unclean leader选举,无需更改控制器即可启用
[KAFKA-7001] -Connect中中重命名errors.toleranceerrors.allowed.max
[KAFKA-7002] - 允许通过Connect DLQ主题的配置属性设置复制因子
[KAFKA-7003] - 在写入Connect DeadLetterQueue主题的消息中添加包含错误上下文的headers
[KAFKA-7139] - 支持在kafka-topics.sh命令中排除内部主题
[KAFKA-7177] - 更新2.0文档以反映KIP-219更改的配额行为
[KAFKA-7228] - DeadLetterQueue抛出NullPointerException

Sub-task

[KAFKA-6082] - 考虑使用控制器epoch zkVersionzookeeper更新进行防护
[KAFKA-7299] - 批量LeaderAndIsr请求在自动首选leader选举期间
[KAFKA-7308] - 修复用于Java 11支持的ratcheckstyle插件配置
[KAFKA-7309] - 升级Jacoco以获得Java 11支持
[KAFKA-7310] - 使用Java 11运行时修复SSL测试
[KAFKA-7338] - 使用Java 11修复SASL Kerberos测试
[KAFKA-7372] - 升级Jetty以获得初步的Java 11和TLS 1.3支持
更新于 2019-07-13

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