[ 
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)

Reply via email to