发布通知 - Kafka - 2.0.0版本

以下是Kafka 2.0.0版本中解决的JIRA问题的摘要。有关该版本的完整文档,入门指南以及有关该项目的信息,请参阅Kafka官方网站。

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

新功能

[KAFKA-6576] - 可配置配额管理(KIP-257)
[KAFKA-6841] - 添加对前缀ACL的支持
[KAFKA-6886] - Kafka Connect配置的Externalize Secrets
[KAFKA-6935] - KIP-295添加Streams配置以进行可选优化

改善

[KAFKA-1894] - 避免消费者长时间或无限制地阻塞
[KAFKA-2061] - 提供 a--version标志来打印kafka版本
[KAFKA-3379] - 更新依靠旧生产者使用新生产者的工具。
[KAFKA-3473] - KIP-237: 更多控制器健康指标
[KAFKA-3591] - 如果提供的查询不匹配任何值,JmxTool应退出
[KAFKA-3806] - 调整log.retention.hours和offsets.retention.minutes的默认值
[KAFKA-3834] - 消费者不应该阻止coordinator的发现
[KAFKA-4292] - KIP-86: 可配置的SASL回调处理程序
[KAFKA-4914] - 分区重新分配工具应该在ZooKeeper中持久化状态之前检查类型
[KAFKA-4936] - 允许动态路由输出记录
[KAFKA-5058] - 将传感器添加到KafkaStreams以跟踪由于具有空键而丢弃的记录
[KAFKA-5327] - 控制台消费者应该只poll最多的消息
[KAFKA-5370] - 将旧消费者的使用替换为新消费者
[KAFKA-5523] - ReplayLogProducer不使用新的Kafka使用者
[KAFKA-5529] - ConsoleProducer不推荐使用的BaseProducer
[KAFKA-5674] - max.connections.per.ip最小值为零以允许IP地址阻塞
[KAFKA-5907] - 支持Java 9中的aggregatedJavadoc
[KAFKA-5965] - 从Streams Resetter Tool中删除不推荐使用的AdminClient
[KAFKA-5987] - 文档生成中使用的Kafka度量标准模板应保持标记的顺序
[KAFKA-6024] - 考虑在调用acquireAndEnsureOpen()之前移动在KafkaConsumer中的验证
[KAFKA-6028] - 改善配额节流通信。
[KAFKA-6057] - 用户在偏移重置工具中忘记了`--execute`
[KAFKA-6058] - KIP-222: 将“描述使用者组”和“列出使用者组”添加到KafkaAdminClient
[KAFKA-6106] - 推迟线程内任务的正常处理,直到完成所有任务的恢复
[KAFKA-6184] - 报告消费者偏移量与日志的起始偏移量之间的滞后量度量
[KAFKA-6376] - 改进跳过记录的Streams指标
[KAFKA-6424] - QueryableStateIntegrationTest#queryOnRebalance应该接受原始文本
[KAFKA-6454] - 允许处理器API中的时间戳操作
[KAFKA-6473] - 将MockProcessorContext添加到public test-utils
[KAFKA-6481] - 提高ControllerChannelManager.addUpdateMetadataRequestForBrokers函数的性能
[KAFKA-6486] - TimeWindows导致对窗口化聚合函数的无序调用
[KAFKA-6514] - 添加API版本作为RequestsPerSec指标的标记
[KAFKA-6515] - 将toString()方法添加到kafka connect Field类
[KAFKA-6526] - 更新控制器以处理对unclean.leader.election.enable的更改
[KAFKA-6535] - 将Streams重新分区主题的默认保留时间设置为Long.MAX_VALUE
[KAFKA-6538] - 为ByteStore异常提供更多上下文信息
[KAFKA-6546] - 为缺少的侦听器添加ENDPOINT_NOT_FOUND_ON_LEADER错误代码
[KAFKA-6560] - 对于窗口化聚合运算符,使用单点查询而不是范围查询
[KAFKA-6562] - KIP-255: 通过SASL/OAUTHBEARER进行OAuth身份验证
[KAFKA-6608] - 添加TimeoutException到KafkaConsumer#position()
[KAFKA-6611] - 使用JMXTool在系统测试中重写简单基准
[KAFKA-6615] - 为DumpLogSegments添加脚本
[KAFKA-6628] - RocksDBSegmentedBytesStoreTest不包括时间窗口serdes
[KAFKA-6630] - 加速控制器上的TopicDeletionStopReplicaResponseReceived事件的处理
[KAFKA-6640] - 提高KafkaAdminClient.describeTopics()的效率
[KAFKA-6657] - 为不同的使用者添加StreamsConfig前缀
[KAFKA-6659] - 优化错误信息 - 如果状态存储没有找到
[KAFKA-6670] - 为Kafka Streams实现Scala包装器库
[KAFKA-6673] - Segment和Stamped实现可比较,但不要覆盖equals。
[KAFKA-6677] - 删除EOS生产者配置max.in.flight.request.per.connection = 1
[KAFKA-6685] - 连接反序列化日志消息应区分键和值
[KAFKA-6688] - Trogdor协调员应该跟踪任务状态
[KAFKA-6726] - KIP-277 - CreateTopics API的Fine Grained ACL
[KAFKA-6727] - org.apache.kafka.clients.admin.Config已经破坏了equals和hashCode方法。
[KAFKA-6730] - 简化状态存储恢复
[KAFKA-6738] - Kafka Connect处理不良数据
[KAFKA-6750] - 为AuthenticationContext添加监听名称
[KAFKA-6760] - 响应未在控制器中正确记录
[KAFKA-6772] - 在允许请求之前,Broker应该从ZK加载凭据
[KAFKA-6776] - 连接Rest Extension插件
[KAFKA-6795] - 为ReplicaAlterLogDirsThread添加单元测试
[KAFKA-6802] - 在topic未知且分配被跳过时优化日志记录
[KAFKA-6813] - 从Streams中的KIP-120和KIP-182中删除已弃用的API
[KAFKA-6849] - 添加transformValues()方法到KTable
[KAFKA-6850] - KIP-244: 为 Kafka Streams Processor API增加Record Header支持
[KAFKA-6896] - 在KafkaStreams.java中添加生产度量暴露
[KAFKA-6905] - Processor对象可以重用
[KAFKA-6913] - 将原始数字转换器添加到Connect
[KAFKA-6930] - 更新 KafkaZkClient debug日志
[KAFKA-6938] - 添加用于在Kafka Streams Processor API上访问Headers的文档
[KAFKA-6955] - 在DeleteRecordsCommand中使用Java AdminClient
[KAFKA-6957] - 将getter添加到AbstractStream类,以使internalTopologyBuilder可以在包外部访问
[KAFKA-6979] - 将max.block.ms添加到消费者以获取默认超时行为
[KAFKA-6997] - Kafka运行类不能排除测试源jar
[KAFKA-7000] - KafkaConsumer.position应该等待赋值元数据
[KAFKA-7009] - 在系统测试中警告级别的reflections.org静音记录器
[KAFKA-7050] - 将消费者请求超时减少到30秒
[KAFKA-7066] - 在序列化异常的情况下使Streams运行错误对用户友好
[KAFKA-7091] - AdminClient应该处理FindCoordinatorResponse错误
[KAFKA-7111] - 检查NetworkClient日志级别

Bug

[KAFKA-3177] - 在不存在的分区上调用position()时,Kafka使用者可以挂起。
[KAFKA-3417] - 配置属性中的无效字符未经过验证?
[KAFKA-3665] - 默认ssl.endpoint.identification.algorithm应为https
[KAFKA-3899] - 如果提供了错误的凭据,Consumer.poll()会陷入循环
[KAFKA-4041] - kafka无法重新连接到ELB后面的zookeeper
[KAFKA-4831] - 提取WindowedSerde到公共api
[KAFKA-4879] - 删除主题时,KafkaConsumer.position可能会永久挂起
[KAFKA-4883] - 无效的客户端sasl.jaas.config触发NullPointerException
[KAFKA-5253] - TopologyTestDriver必须处理使用模式创建的流
[KAFKA-5540] - 弃用并删除内部转换器配置
[KAFKA-5588] - 从tools命令中移除已弃用的new-consumer选项
[KAFKA-5624] - 不安全使用过期的传感器
[KAFKA-5697] - StreamThread.shutdown()需要中断流线程来打破循环
[KAFKA-5807] - 检查Connector.config()和Transformation.config())返回有效的ConfigDef
[KAFKA-5919] - 为使用它的工具添加“version”字段的检查
[KAFKA-5974] - 移除为使用的ProcessorContext
[KAFKA-6052] - Windows: 当isolation.level=read_committed时消费者不能poll
[KAFKA-6054] - ERROR "SubscriptionInfo" - 从0.10.0.0升级到0.10.2.1时无法解码订阅数据:version=2
[KAFKA-6238] - 将滚动升级应用于1.0.0时协议版本的问题
[KAFKA-6253] - 改进sink连接器主题正则表达式验证
[KAFKA-6264] - 日志清理程序线程可能会在包含其偏移量太大的消息的旧版段上挂掉
[KAFKA-6288] - 中断符号链接会中断扫描插件路径
[KAFKA-6292] - KafkaConsumer遇到由FileLogInputStream中的整数溢出引起的主题分区数据的Unknown错误
[KAFKA-6299] - 修复元数据更改时的AdminClient错误处理
[KAFKA-6351] - libs目录有重复的javassist jar
[KAFKA-6361] - 快速leader故障转移可能导致leader和follower之间的日志分歧
[KAFKA-6378] - 当KeyValueMapper返回null时,KStream-GlobalKTable leftJoin上的NullPointerException
[KAFKA-6386] - 使用StreamsConfig参数,弃用KafkaStreams构造函数
[KAFKA-6390] - 将ZooKeeper更新为3.4.12,Gradle和其他次要更新
[KAFKA-6394] - 预防advertised listener的配置错误
[KAFKA-6427] - 来自KafkaConsumer.position的异常类型不一致
[KAFKA-6445] - 删除2.0中已弃用的指标
[KAFKA-6446] - 当bootstrap服务器关闭时,KafkaProducer的transactionId持续等待
[KAFKA-6503] - Connect: 插件扫描非常慢
[KAFKA-6513] - 新的Connect头不支持正确的`converter.type`属性
[KAFKA-6530] - 当magicV2滚动日志段时,使用实际的第一个消息offset。
[KAFKA-6534] - 当存在任务迁移时,Consumer.poll可能无法及时触发重新平衡
[KAFKA-6552] - 鈥渆ntity_type鈥� 不完全是kafka-configs.sh的描述
[KAFKA-6566] - 在poll()中引发异常后未调用SourceTask#stop()
[KAFKA-6577] - 连接独立SASL文件源和sink 测试失败,而没有说明
[KAFKA-6581] - 即使其中一个分区不可用,ConsumerGroupCommand也会挂起
[KAFKA-6637] - 如果设置主题配置 segment.ms=0 Kafka broker将无法启动
[KAFKA-6650] - 控制器应该能够处理部分删除的topic
[KAFKA-6656] - 当kafka-configs.sh失败,使用非零的状态编码
[KAFKA-6658] - 修复RoundTripWorkload并使k/v生成可配置
[KAFKA-6672] - ConfigCommand无法改变配置
[KAFKA-6697] - 如果日志目录无效,JBOD配置的broker不应该关闭
[KAFKA-6704] - 从SegementIterator检查hasNext可能会抛出InvalidStateStoreException
[KAFKA-6709] - 由于OOM,broker无法处理请求
[KAFKA-6710] - 关闭期间Streams集成测试会挂起
[KAFKA-6711] - GlobalStateManagerImpl不应在检查点文件中写入内存存储的偏移量
[KAFKA-6724] - ConsumerPerformance在每次启动时重置偏移量
[KAFKA-6728] - Kafka Connect Header空指针异常
[KAFKA-6729] - 如果可能,KTable应使用用户source主题,而不是创建changelog主题。
[KAFKA-6731] - waitOnState等待错误的状态而不是目标状态
[KAFKA-6737] - Kafka是否受到关键漏洞CVE-2018-7489的影响
[KAFKA-6739] - 对于带有header的消息,下转换失败
[KAFKA-6741] - 瞬时测试故障: SslTransportLayerTest.testNetworkThreadTimeRecorded
[KAFKA-6742] - 从GlobalKTable处理仓库时出现TopologyTestDriver错误
[KAFKA-6743] - ConsumerPerformance无法消费具有大量分区的主题上的所有消息
[KAFKA-6747] - kafka-streams尝试从状态READY到状态ABORTING_TRANSACTION的无效转换
[KAFKA-6748] - Scheduler不能从Punctuator取消
[KAFKA-6749] - 当测试中的topoloy使用EXACTLY_ONCE时,TopologyTestDriver失败
[KAFKA-6752] - Unclean leader选举度量不在生效
[KAFKA-6765] - CustomQuotaCallbackTest间接性测试故障
[KAFKA-6775] - 在SimpleBenchmark中应该调用super#init创建AbstractProcessor
[KAFKA-6778] - 对于不存在的主题,DescribeConfigs不会返回错误
[KAFKA-6782] - 消费者中断消息时,GlobalKTable GlobalStateStore永远不会完成恢复
[KAFKA-6796] - 对非副本的生产/获取请求令人惊讶的UNKNOWN_TOPIC错误
[KAFKA-6809] - 连接创建的度量标准不按预期运行
[KAFKA-6825] - DEFAULT_PRODUCTION_EXCEPTION_HANDLER_CLASS_CONFIG是私有的
[KAFKA-6826] - 在窗口仓库聚合中转发值时避免范围扫描
[KAFKA-6829] - 消费者在遇到未知主题或分区错误时应重试
[KAFKA-6834] - 当消息集的大小大于最大消息大小时,日志清理程序应该处理这种情况
[KAFKA-6844] - StreamThread和GlobalStreamThread之间的竞争条件停止
[KAFKA-6853] - ResponseMetadata错误地计算延迟(因此ZooKeeperRequestLatencyMs不正确)
[KAFKA-6855] - 由于Java版本检测错误,Kafka无法启动Java 10
[KAFKA-6857] - LeaderEpochFileCache.endOffsetFor()应该明确检查UNDEFINED_EPOCH
[KAFKA-6860] - 当reinitializeStateStores启用eos时的NPE
[KAFKA-6870] - SampledStat中的并发冲突
[KAFKA-6871] - KStreams Scala API: 不正确的Javadoc和误导性参数名称
[KAFKA-6877] - 如果失败的解析包含没有记录,则删除completedFetch。
[KAFKA-6878] - 查询未处于READY状态的全局状态存储时的NPE
[KAFKA-6879] - 会话到期后控制器死锁
[KAFKA-6894] - 将处理器与全局存储连接时改进错误消息
[KAFKA-6897] - Mirrormaker等待永久关闭产生失败的abort.on.send.failure=true
[KAFKA-6906] - 如果通过wall-clock标点符号生成数据,Kafka Streams不会提交事务
[KAFKA-6919] - Trogdor文档指向trogdor.sh的错误位置
[KAFKA-6927] - Broker在下转换期间使用大量内存
[KAFKA-6929] - ZkData - Consumers offsets Zookeeper路径不正确
[KAFKA-6936] - Streams的Scala API Wrapper使用表聚合的默认序列化程序
[KAFKA-6937] - 如果超过副本限制,则在获取期间延迟同步副本
[KAFKA-6949] - 访问未来副本的日志时alterReplicaLogDirs()应该获取分区锁
[KAFKA-6967] - TopologyTestDriver不允许预先填充具有更改日志记录的状态存储
[KAFKA-6973] - 设置无效的时间戳会导致Kafka broker重启失败
[KAFKA-6975] - AdminClient.deleteRecords()可能导致副本无法从头开始获取
[KAFKA-6981] - 缺少连接器配置(errors.deadletterqueue.topic.name)会导致Connect Clusters死亡
[KAFKA-6991] - 使用类加载器连接Rest Extension插件问题
[KAFKA-6993] - 修复`KStream/KTable`有缺陷的文档
[KAFKA-7012] - kafka1.0.1升级到1.1的性能问题
[KAFKA-7021] - Source KTable检查点不正确
[KAFKA-7023] - Kafka Streams RocksDB批量加载配置可能无法使用自定义的RocksDBConfigSetter
[KAFKA-7028] - super.users doesn't work with custom principals
[KAFKA-7029] - ReplicaVerificationTool should not use the deprecated SimpleConsumer
[KAFKA-7031] - Kafka Connect API module depends on Jersey
[KAFKA-7032] - The TimeUnit is neglected by KakfaConsumer#close(long, TimeUnit)
[KAFKA-7039] - DelegatingClassLoader creates plugin instance even if its not Versioned
[KAFKA-7043] - Connect isolation whitelist does not include new primitive converters (KIP-305)
[KAFKA-7047] - Connect isolation whitelist does not include SimpleHeaderConverter
[KAFKA-7048] - NPE when creating connector
[KAFKA-7055] - Kafka Streams Processor API allows you to add sinks and processors without parent
[KAFKA-7056] - Connect's new numeric converters should be in a different package
[KAFKA-7058] - ConnectSchema#equals() broken for array-typed default values
[KAFKA-7064] - "Unexpected resource type GROUP" when describing broker configs using latest admin client
[KAFKA-7067] - ConnectRestApiTest fails assertion
[KAFKA-7068] - ConfigTransformer doesn't handle null values
[KAFKA-7076] - Broker startup could be inefficient when using old message format
[KAFKA-7082] - Concurrent createTopics calls may throw NodeExistsException
[KAFKA-7104] - ReplicaFetcher thread may die because of inconsistent log start offset in fetch response
[KAFKA-7112] - StreamThread does not check for state again after pollRequests()
[KAFKA-7136] - PushHttpMetricsReporter may deadlock when processing metrics changes
[KAFKA-7168] - Broker shutdown during SSL handshake may be handled as handshake failure
[KAFKA-7182] - SASL/OAUTHBEARER client response is missing %x01 separators
[KAFKA-7185] - getMatchingAcls throws StringIndexOutOfBoundsException for empty resource name
[KAFKA-7193] - ZooKeeper client times out with localhost due to random choice of ipv4/ipv6
[KAFKA-7194] - Error deserializing assignment after rebalance

Task

[KAFKA-2983] - Remove old Scala consumer and all related code, tests, and tools
[KAFKA-4423] - Drop support for Java 7
[KAFKA-5660] - Don't throw TopologyBuilderException during runtime
[KAFKA-5677] - Remove deprecated punctuate method
[KAFKA-6769] - Upgrade jetty library version
[KAFKA-6800] - Update documentation for SASL/PLAIN and SCRAM to use callbacks
[KAFKA-6805] - Allow dynamic broker configs to be configured in ZooKeeper before starting broker
[KAFKA-6810] - Enable dynamic reconfiguration of SSL truststores
[KAFKA-6854] - Log cleaner fails with transaction markers that are deleted during clean
[KAFKA-6911] - Incorrect check for keystore/truststore dynamic update
[KAFKA-6912] - Add authorization tests for custom principal types
[KAFKA-6916] - AdminClient does not refresh metadata on broker failure
[KAFKA-6917] - Request handler deadlocks attempting to acquire group metadata lock
[KAFKA-6921] - Remove old Scala producer and all related code, tests, and tools
[KAFKA-7001] - Rename errors.allowed.max property in Connect to errors.tolerance
[KAFKA-7002] - Allow replication factor to be set via a configuration property for the Connect DLQ topic
[KAFKA-7003] - Add headers with error context in messages written to the Connect DeadLetterQueue topic

Test

[KAFKA-2951] - Additional authorization test cases
[KAFKA-5739] - Rewrite KStreamPeekTest at processor level avoiding driver usage
[KAFKA-5944] - Add unit tests for handling of authentication failures in clients
[KAFKA-6716] - discardChannel should be released in MockSelector#completeSend

Sub-task

[KAFKA-2391] - Blocking call such as position(), partitionsFor(), committed() and listTopics() should have a timeout
[KAFKA-2837] - FAILING TEST: kafka.api.ProducerBounceTest > testBrokerFailure
[KAFKA-3368] - Add the Message/Record set protocol to the protocol docs
[KAFKA-3387] - Update GetOffsetShell tool to not rely on old producer.
[KAFKA-4641] - Improve test coverage of StreamsThread
[KAFKA-4651] - Improve test coverage of Stores
[KAFKA-6447] - Add Delegation Token Operations to KafkaAdminClient
[KAFKA-7005] - Remove duplicate Java Resource class.
[KAFKA-7006] - Remove duplicate Scala ResourceNameType class
[KAFKA-7007] - Use JSON for /kafka-acl-extended-changes path
[KAFKA-7010] - Rename ResourceNameType.ANY to MATCH
[KAFKA-7011] - Investigate if its possible to drop the ResourceNameType field from Java Resource class.
[KAFKA-7030] - Add configuration to disable message down-conversion





发表于: 2月前   最后更新时间: 6天前   游览量:1018
上一条:
下一条: Apache Kafka 0.8.2.0 发布

评论…


  • 评论…
    • in this conversation