我想了解卡夫卡消息丟失的以下行爲。簡而言之,當一個經紀人很早就死去,隨後在一些消息處理之後,所有其他經紀人都會死亡。如果首先死亡的經紀人開始上市,那麼他們出現後就不會趕上其他經紀人。相反,所有其他經紀人都會報告錯誤並重置抵消額以匹配第一個經紀人。預期這種行爲,以及確保零消息丟失的更改/設置是什麼?卡夫卡經紀人對領導層變更的消息丟失情況
卡夫卡版本: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,它會看到兩條消息,而不是已發佈的四條消息。