我想了解卡夫卡消息丢失的以下行为。简而言之,当一个经纪人很早就死去,随后在一些消息处理之后,所有其他经纪人都会死亡。如果首先死亡的经纪人开始上市,那么他们出现后就不会赶上其他经纪人。相反,所有其他经纪人都会报告错误并重置抵消额以匹配第一个经纪人。预期这种行为,以及确保零消息丢失的更改/设置是什么?卡夫卡经纪人对领导层变更的消息丢失情况
卡夫卡版本:2.11-0.10.2.0
重现步骤
- 开始1个饲养员实例和3个卡夫卡经纪人
- 创建一个话题的3复制因子和3
- 分区附加卡夫卡控制台消费者专题
- 使用的卡夫卡控制台生产者生产2条消息
- 名杀害两名经纪人(1 & 2)
- 发送两条消息
- 杀死最后剩余的经纪人(0)
- 造就经纪人(1)谁没有见过的最后两个消息
- 造就经纪人(2 )谁见过的最后两条消息,它显示了一个错误
[2017-06-16 14:45:20,239] INFO Truncating log my-second-topic-1 to offset 1. (ka fka.log.Log) [2017-06-16 14:45:20,253] ERROR [ReplicaFetcherThread-0-1], Current offset 2 for partition [my-second-topic,1] out of range; reset offset to 1 (kafka.server.Rep licaFetcherThread)
- 最后连接kafka-console-consumer,它会看到两条消息,而不是已发布的四条消息。