1. 程式人生 > >apache Kafka中partition的leader為-1情況分析

apache Kafka中partition的leader為-1情況分析

1.broker shutdown的時候,partition的leader在此broker上,controller選主沒有成功,移除此broker後,對應的partition的leader就被賦值成-1了。

2.給此broker傳送stopReplicaRequest

呼叫controller.removeReplicaFromIsr,從zk讀取當前partition的狀態,從isr中移除此broker,並更新zk資訊(如果leader為此broker,則新leader被置為-1,代表沒有leader,為什麼沒有選擇isr中其他broker為leader?)

傳送leaderAndIsrRequest到此partition的leader,傳送updateMetaRequest給所有broker

更新ReplicaStateMachine中replicaState的狀態。