Raghu S commented on ZOOKEEPER-107:

I think there are some corner cases that may make the leader election 
impossible during a node addition. Say the current config is A,B,C and the new 
config is A,B,C,D. When the leader is trying to commit the new configuration, 
the power goes out and comes back on when only A and B have logged the new 
configuration. Peer count in <A,B,C,D> = <4,4,3,3> now. An election is not 
possible if C is down because A and B think the majority is 3 peers and D can't 
participate in the election since it hasn't joined the cluster yet. 

It sounds like some out of band communication between an existing peer and a 
new peer is needed to make this thing work. If a peer restarts or notices 
quorum loss and if the last logged update is a node addition, the peer should 
try to contact the newly added server so that it can push it's log to the new 
peer (if the new peer doesn't already have an up to date log) and ask the new 
peer to restart. Until A or B do that in the above case, an election may not be 

> Allow dynamic changes to server cluster membership
> --------------------------------------------------
>                 Key: ZOOKEEPER-107
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-107
>             Project: Zookeeper
>          Issue Type: Improvement
>          Components: server
>            Reporter: Patrick Hunt
> Currently cluster membership is statically defined, adding/removing hosts 
> to/from the server cluster dynamically needs to be supported.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

Reply via email to