[ https://issues.apache.org/jira/browse/KAFKA-1778?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14550781#comment-14550781 ]
Abhishek Nigam commented on KAFKA-1778: --------------------------------------- Jun, The way I see it pinning the controller gives us multiple benefits: a) If SREs are doing rolling upgrades they can set aside the broker on which the controller is pinned as the broker which they touch last. This way there are only a limited number of controller moves and we can get more availability of the controller as a result as opposed to un-predictable number of controller moves. b) I think more importantly if we do manual partition assignment we can set aside a broker to have very few partitions and this would reduce the impact on the controller from serving too many produce and consume events. To summarize it enables us to isolate the controller from the broker functionality potentially enabling us to push the brokers harder. Joel, You are spot on. Since now all the brokers will be watching for the preferred controller node we can have the following situations: a) All of them know about the preferred controller (zookeeper metadata has flowed to everyone). In this case the preferred controller would become the leader right away. b) If some of them know about the preferred controller they will participate in the election and it is possible that somebody other than the preferred controller becomes the leader. What will happen in this case is that eventually this new controller will figure out that the preferred controller is available (thru zookeeper watch) to serve traffic it will resign and trigger another round of elections. c) If none of them know about the preferred controller the behavior will be similar as above. > Create new re-elect controller admin function > --------------------------------------------- > > Key: KAFKA-1778 > URL: https://issues.apache.org/jira/browse/KAFKA-1778 > Project: Kafka > Issue Type: Sub-task > Reporter: Joe Stein > Assignee: Abhishek Nigam > Fix For: 0.8.3 > > > kafka --controller --elect -- This message was sent by Atlassian JIRA (v6.3.4#6332)