[ https://issues.apache.org/jira/browse/KAFKA-831?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Neha Narkhede updated KAFKA-831: -------------------------------- Attachment: kafka-831-v1.patch - The fix is to switch the order of leader election and sending the list of all partitions to the newly restarted broker. - This is ok since the impact of doing that is that the newly started broker could be asked to become follower of a dead leader. On the ReplicaManager side, we actually abort a become follower if the leader is not alive anymore. - Right after sending the list of all partitions, the controller will trigger leader election for all new and offline partitions. This will take care of the case when the newly started broker is the next leader of such partitions > Controller does not send the complete list of partitions to a newly started > broker > ---------------------------------------------------------------------------------- > > Key: KAFKA-831 > URL: https://issues.apache.org/jira/browse/KAFKA-831 > Project: Kafka > Issue Type: Bug > Components: controller > Affects Versions: 0.8 > Reporter: Neha Narkhede > Assignee: Neha Narkhede > Priority: Blocker > Labels: kafka-0.8, p1 > Attachments: kafka-831-v1.patch > > > On a new broker startup, the controller is supposed to send the entire list > of partitions that the new broker is supposed to host in one leader and isr > request. In this request, it specifies if the new broker is the leader or > follower for each of those partitions. For most of the partitions, the new > broker will be a follower. However, for some partitions that don't have any > other broker alive, the new broker will be the leader. The bug is that the > controller first elects the leaders for offline partitons to see if the new > broker is the leader for any of those and sends only those partitions for > which leader was elected in the first leader and isr request. Right after > that, it does send a leader and isr request with all partitions, but that > breaks the guarantee that the very first leader and isr request has all > partitions. As a result of this bug, the high watermark checkpointing logic > behaves incorrectly. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira