暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

发布通知 - Kafka - 2.2.0版本(译)

orchome 2019-05-15
281

以下是2.2.0版本中解决JIRA问题的摘要,有关该版本的完整文档,入门指南以及关于该项目的信息,请参考Kafka官方文档,或kafka中文教程(orchome.com)。


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


改进

    [KAFKA-4217] - KStream.transform相当于flatMap
    [KAFKA-4453] - 添加请求优先级
    [KAFKA-4850] - RocksDb无法使用Bloom Filters
    [KAFKA-5692] - 重构PreferredReplicaLeaderElectionCommand以使用AdminClient
    [KAFKA-5994] - 提高broker用户ACL错误配置的透明度
    [KAFKA-6431] - 在Purgatory中锁定争用
    [KAFKA-6567] - KStreamWindowReduce可以被KStreamWindowAggregate取代
    [KAFKA-6774] - 改进使用者中的默认groupId行为
    [KAFKA-6928] - StreamsPartitionAssignor在InternalTopicManager中进行双重重试
    [KAFKA-7024] - 应在打开DB之前创建Rocksdb状态目录
    [KAFKA-7054] - Kafka描述命令应抛出的主题不存在异常
    [KAFKA-7096] - 消费者应该删除未分配的主题分区的数据
    [KAFKA-7131] - 更新发布脚本以生成公告电子邮件文本
    [KAFKA-7235] - 使用brokerZkNodeVersion可防止broker处理过时的控制器请求
    [KAFKA-7266] - 修复MetricsTest测试片状
    [KAFKA-7352] - KIP-368: 允许SASL连接定期重新进行身份验证
    [KAFKA-7367] - 除非需要,否则Streams不应创建状态存储目录
    [KAFKA-7389] - 升级spotBugs以支持Java 11
    [KAFKA-7391] - 向Producer和AdminClient引入close(Duration),而不是close(long,TimeUnit)
    [KAFKA-7402] - Kafka Streams应该在适当的时候实现AutoCloseable
    [KAFKA-7413] - 用网站中的fllower替换slave术语
    [KAFKA-7418] - 为所有可用的Kafka CLI命令添加'--help'选项(KIP-374)
    [KAFKA-7420] - 对于常规任务,全球商店应该被保密为只读
    [KAFKA-7433] - 在TopicCommand中引入broker选项以使用AdminClient
    [KAFKA-7446] - 更好的错误消息来解释TimeWindow的上限
    [KAFKA-7461] - 连接值转换器应具有逻辑类型的覆盖范围
    [KAFKA-7478] - 减少OAuthBearerLoginModule详细程度
    [KAFKA-7510] - KStreams RecordCollectorImpl在出错时将数据泄漏到日志中
    [KAFKA-7524] - 推荐使用Scala 2.12并将其用于开发
    [KAFKA-7528] - 标准化Min/Avg/Max Kafka指标的默认值
    [KAFKA-7537] - 如果分区状态没有变化,则仅在发送给现有broker的UpdateMetadataRequest中包含实时broker
    [KAFKA-7567] - 清除内部元数据用法以确保一致性和可扩展性
    [KAFKA-7568] - 在ListOffsets响应中返回leader epoch
    [KAFKA-7584] - 如果将max.in.flight.request.per.connect指定为String,StreamsConfig将抛出ClassCastException
    [KAFKA-7610] - 检测初始JoinGroup中的消费者故障
    [KAFKA-7641] - 添加`consumer.group.max.size`以限制broker上的消费者元数据大小
    [KAFKA-7671] - KStream/GlobalKTable连接不应重置重新分区标志
    [KAFKA-7673] - 升级RocksDB以包含对WinEnvIO::GetSectorSize的修复
    [KAFKA-7687] - Print batch level information in DumpLogSegments when deep iterating
    [KAFKA-7719] - 提高SocketServer处理器的公平性
    [KAFKA-7734] - 度量标签应使用LinkedHashMap来保证顺序
    [KAFKA-7738] - 跟踪客户端元数据中的分区领导者epochs
    [KAFKA-7758] - When Naming a Repartition Topic with Aggregations Reuse Repartition Graph Node for Multiple Operations
    [KAFKA-7762] - KafkaConsumer在javadocs中使用旧API
    [KAFKA-7798] - 从KafkaStreams threadMetadata暴露嵌入式客户端上下文
    [KAFKA-7804] - 更新KIP-377的文档
    [KAFKA-7829] - Javadoc应该显示Kafka 1.1.0或更高版本中支持AdminClient.alterReplicaLogDirs()
    [KAFKA-7834] - 在系统测试服务中扩展收集的日志以包括heap dumps
    [KAFKA-7837] - maybeShrinkIsr可能不会立即反映OfflinePartitions
    [KAFKA-7838] - 改进Partition.maybeShrinkIsr()中的日志记录
    [KAFKA-7880] - Kafka Connect应标准化工作线程名称
    [KAFKA-7916] - Streams存储清理:统一包装
    [KAFKA-8040] - Streams需要在initTransactions中处理超时

    bug

      KAFKA-2334] - 防止HW在leader故障转移期间返回
      [KAFKA-3832] - Kafka Connect的JSON Converter从不输出空值
      [KAFKA-4468] - 从状态存储读取后,正确计算窗口结束时间戳
      [KAFKA-5117] - Kafka Connect REST端点显示密码类型值
      [KAFKA-5462] - 为用户添加配置以指定用于构建自定义主体名称的模板
      [KAFKA-5950] - AdminClient应根据返回的错误代码重试
      [KAFKA-6478] - 如果CLASSPATH包含空格,则kafka-run-class.bat会失败
      [KAFKA-6833] - KafkaProducer抛出“带记录的无效分区”异常
      [KAFKA-6970] - 当处理器内部时,Kafka流允许用户在状态存储上调用init()和close()
      [KAFKA-7037] - delete topic命令从topic名称替换'+',导致错误的topic删除
      [KAFKA-7051] - 当有许多分区时,提高ReplicaManager的效率
      [KAFKA-7110] - TimeWindowedSerde未对窗口化的变更日志key进行正确反序列化
      [KAFKA-7165] - 在/brokers/ids/BROKER_ID创建短暂时出错
      [KAFKA-7181] - 在其中一个StreamThread遇到IllegalStateException之后,Kafka Streams State陷入了重新平衡
      [KAFKA-7253] - 创建连接器时,worker响应的连接器类型始终为null
      [KAFKA-7288] - SslSelectorTest.testCloseConnectionInClosingState中的瞬时故障
      [KAFKA-7312] - kafka.api.AdminClientIntegrationTest.testMinimumRequestTimeouts中的瞬时故障
      [KAFKA-7412] - 如果Kafka broker没有运行,那么来自producer.send(ProducerRecord, Callback)的错误响应
      [KAFKA-7443] - 当本地检查点的起始偏移量小于changelog主题的起始偏移量时,changelog主题恢复状态存储时报OffsetOutOfRangeException
      [KAFKA-7449] - Kafka控制台消费者没有向反序列化程序发送topic
      [KAFKA-7476] - SchemaProjector未正确处理基于日期的逻辑类型
      [KAFKA-7518] - FutureRecordMetadata.get从超时计算的截止时间不使用timeunit
      [KAFKA-7532] - 错误消息中的字符串化“从关闭broker列表中删除了ArrayBuffer()。(kafka.controller.KafkaController)”
      [KAFKA-7536] - TopologyTestDriver无法预先填充KTable或GlobalKTable
      [KAFKA-7549] - 使用zstd压缩的旧ProduceRequest不会向客户端返回错误
      [KAFKA-7557] - 优化LogManager.truncateFullyAndStartAt()
      [KAFKA-7560] - PushHttpMetricsReporter不应将度量标准值转换为double
      [KAFKA-7561] - Console Consumer - 系统测试故障
      [KAFKA-7605] - Flaky测试 `SaslMultiMechanismConsumerTest.testCoordinatorFailover`
      [KAFKA-7616] - MockConsumer可以返回带有非空映射但没有记录的ConsumerRecords对象
      [KAFKA-7620] - 当TTL不为空时,ConfigProvider在KafkaConnect中被中断
      [KAFKA-7655] - 在某些情况下,来自Kafka Streams的元数据垃圾邮件请求,潜在的DOS
      [KAFKA-7657] - Kafka流应用程序中的流状态报告无效
      [KAFKA-7660] - 流量指标 - 内存分析
      [KAFKA-7672] - KafkaStream重新平衡后,本地状态未完全恢复,导致数据丢失
      [KAFKA-7678] - 由于java.lang.NullPointerException,无法关闭生产者
      [KAFKA-7692] - updateFirstUnstableOffset由于ProducerStateManager.append中的sequenceId溢出导致的NPE
      [KAFKA-7693] - Kafka Client中的“IllegalArgumentException:使用的负序号无效”
      [KAFKA-7697] - kafka.cluster.Partition中可能出现死锁
      [KAFKA-7702] - 带前缀的ACL不适用于单字符前缀
      [KAFKA-7704] - kafka.server.ReplicaFetechManager.MaxLag.Replica指标报告错误
      [KAFKA-7709] - 在Sender.getExpiredInflightBatches中迭代多个分区时发生ConcurrentModificationException
      [KAFKA-7712] - 选择器中立即连接通道处理异常
      [KAFKA-7741] - 通过SBT的错误依赖
      [KAFKA-7742] - 使用removeToken(String tokenId)API删除令牌时,不会清除DelegationTokenCache#hmacIdCache条目。
      [KAFKA-7752] - zookeeper-security-migration.sh不会删除kafka-acl-extended上的ACL
      [KAFKA-7755] - Kubernetes - Kafka客户端只解析一次DNS条目
      [KAFKA-7759] - 在Connect REST API中禁用WADL输出
      [KAFKA-7768] - Java doc链接404
      [KAFKA-7781] - 添加Topic retention.ms属性的验证检查
      [KAFKA-7786] - 由于FENCED_LEADER_EPOCH,leader epo的快速更新可能会停止分区提取
      [KAFKA-7789] - 在Fedora 29上运行时,SSL相关的单元测试会挂起
      [KAFKA-7808] - 如果未找到topic名称,则AdminClient#describeTopics不应抛出InvalidTopicException
      [KAFKA-7840] - cleanup.policy的文档已过期
      [KAFKA-7873] - KafkaBasedLog的消费者应该在开始时始终寻求开始
      [KAFKA-7884] - message.format.version和log.message.format.version的文档显示无效(损坏?)“有效值”
      [KAFKA-7890] - 如果broker的主机名变更,则会使broker的ClusterConnectionState缓存无效。
      [KAFKA-7895] - Ktable supress运算符为每个窗口的相同key发出多个消息
      [KAFKA-7897] - 使用旧消息格式版本的epoch缓存无效
      [KAFKA-7902] - SASL/OAUTHBEARER可能无法连接:javax.security.sasl.SaslException:无法在Subject的私有凭据(size=2)中找到OAuth Bearer令牌
      [KAFKA-7909] - 在待处理成员重新加入或失败后,确保及时重新平衡完成
      [KAFKA-7915] - SASL身份验证失败可能会将敏感数据返回给客户端
      [KAFKA-7920] - 在inter.broker.protocol.version更新为2.1之前,不允许使用zstd
      [KAFKA-7935] - 如果ReplicaManager.getLogConfig返回None,则UNSUPPORTED_COMPRESSION_TYPE
      [KAFKA-7938] - Flaky Test DeleteConsumerGroupsTest#testDeleteCmdWithShortInitialization
      [KAFKA-7940] - Flaky Test CustomQuotaCallbackTest#testCustomQuotaCallback
      [KAFKA-7945] - ExpiringCredentialRefreshingLogin - 超时值为负
      [KAFKA-7977] - Flaky Test ReassignPartitionsClusterTest#shouldOnlyThrottleMovingReplicas
      [KAFKA-7979] - Flaky Test PartitionTest#testDelayedFetchAfterAppendRecords
      [KAFKA-7980] - Flaky Test SocketServerTest#testConnectionRateLimit
      [KAFKA-7999] - Flaky Test ExampleConnectIntegrationTest#testProduceConsumeConnector
      [KAFKA-8002] - 如果将来和当前副本段文件具有不同的基本office,则可能无法完成对新日志目录的副本重新分配
      [KAFKA-8011] - Flaky Test RegexSourceIntegrationTest#testRegexMatchesTopicsAWhenCreated
      [KAFKA-8012] - 在watermark处截断时NullPointerException可能会导致副本提取程序线程崩溃
      [KAFKA-8018] - Flaky Test SaslSslAdminClientIntegrationTest#testLegacyAclOpsNeverAffectOrReturnPrefixed
      [KAFKA-8022] - Flaky Test RequestQuotaTest#testExemptRequestTime
      [KAFKA-8038] - Flaky Test SslTransportLayerTest#testCloseSsl
      [KAFKA-8039] - Flaky Test SaslAuthenticatorTest#testCannotReauthenticateAgainFasterThanOneSecond
      [KAFKA-8061] - 处理并发ProducerId重置并调用Sender线程关闭
      [KAFKA-8065] - 转发已修改的时间戳不会正确重置时间戳
      [KAFKA-8069] - 协调器在broker中使用旧的broker之间协议版本(<2.2)从__consumer_offsets加载它们后立即清除已提交的offset
      [KAFKA-8070] - 系统测试ConsumerGroupCommandTest使用SSL间歇性失败

      任务


        [KAFKA-7259] - 从ZkSecurityMigrator中删除已弃用的ZKUtils用法
        [KAFKA-7431] - 清理连接单元测试代码
        [KAFKA-7503] - Connect的集成测试框架
        [KAFKA-7551] - 重构在Worker中创建生产者和消费者
        [KAFKA-7617] - 文档安全

        测试


          [KAFKA-7799] - 修复片状测试RestServerTest.testCORSEnabled

          子任务


            [KAFKA-1120] - 控制器可能会错过broker状态变更
            [KAFKA-4544] - 为基于委托令牌的身份验证添加系统测试
            [KAFKA-5272] - 改进Alter Configs的验证(KIP-133
            [KAFKA-5503] - 幂等生产者在获取ProducerId时忽略关闭
            [KAFKA-6036] - 启用逻辑实现到物理实现
            [KAFKA-7439] - 在客户端模块中使用Mockito替换EasyMockPowerMock
            [KAFKA-7612] - 修复javac警告并启用警告作为错误
            [KAFKA-7651] - 片状测试SaslSslAdminClientIntegrationTest.testMinimumRequestTimeouts
            [KAFKA-7824] - 要求member.id用于初始加入组请求
            文章转载自orchome,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

            评论