[ https://issues.apache.org/jira/browse/KAFKA-831?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13616843#comment-13616843 ]
Swapnil Ghike commented on KAFKA-831: ------------------------------------- One way to avoid it could be that in the Online/OfflineReplica -> OnlineReplica state transition, send a leaderAndIsr request that contains all partitions. If the leader of the partition is offline, then the ReplicaManager will drop the request. The replica manager will also log "the leader for this partition went down during the state transition", so perhaps we can change this log statement to say "the leader for this partition is down". > 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