[ https://issues.apache.org/jira/browse/KAFKA-4443?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15708268#comment-15708268 ]
ASF GitHub Bot commented on KAFKA-4443: --------------------------------------- GitHub user ijuma opened a pull request: https://github.com/apache/kafka/pull/2194 KAFKA-4443: Minor comment clean-up Removed stale comment left behind, minor fixes (UpdateMetadataRequest instead of MetadataUpdateRequest) and remove redundant comments. You can merge this pull request into a Git repository by running: $ git pull https://github.com/ijuma/kafka kafka-4443-minor-follow-up Alternatively you can review and apply these changes as the patch at: https://github.com/apache/kafka/pull/2194.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #2194 ---- commit 4f299c7280fe52fe1ec4bc690f61038f05c5de04 Author: Ismael Juma <ism...@juma.me.uk> Date: 2016-11-30T11:12:13Z KAFKA-4443: Minor comment clean-up Removed stale comment left behind, minor fixes (UpdateMetadataRequest instead of MetadataUpdateRequest) and remove redundant comments. ---- > Controller should send UpdateMetadataRequest prior to LeaderAndIsrRequest > during failover > ----------------------------------------------------------------------------------------- > > Key: KAFKA-4443 > URL: https://issues.apache.org/jira/browse/KAFKA-4443 > Project: Kafka > Issue Type: Bug > Affects Versions: 0.10.1.0 > Reporter: Dong Lin > Assignee: Dong Lin > Labels: reliability > Fix For: 0.10.1.1 > > > Currently in onControllerFailover(), controller will startup > replicaStatemachine and partitionStateMachine before invoking > sendUpdateMetadataRequest(controllerContext.liveOrShuttingDownBrokerIds.toSeq). > However, if a broker starts right after controller election, the > LeaderAndIsrRequest sent to follower partitions on this broker will all be > ignored because broker doesn't know the leaders are alive. > To fix this problem, in onControllerFailover(), controller should send > UpdateMetadataRequest to brokers after initializeControllerContext() but > before it starts replicaStatemachine and partitionStateMachine. The first > MetadatUpdateRequest will include list of live broker. Although it will not > include partition leader information, it is OK because we will always send > MetadataUpdateRequest again when we send LeaderAndIsrRequest during > replicaStateMachine.startup() and partitionStateMachine.startup(). -- This message was sent by Atlassian JIRA (v6.3.4#6332)