[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-1044?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14201080#comment-14201080
 ] 

Alexander Shraer commented on ZOOKEEPER-1044:
---------------------------------------------

also see ZOOKEEPER-1660 for documentation.

> If I understand correctly, zookeeper must keep the number of participants to 
> be an odd number to avoid a tie 
> condition.

no, it doesn't matter for zookeeper whether its odd or even. Its recommended to 
keep it odd since zookeeper needs a majority of servers up and running to work, 
so for example if you have 5 servers you can tolerate a failure of 2. But if 
you have 6 servers you can also tolerate only 2 failures, so in terms of fault 
tolerance having 6 vs having 5 doesn't give you anything. 

If one participant out of 3 is down you can't tolerate any more failures - any 
other failure will bring your ensemble down. You can do a reconfig in which you 
remove the faulty server and change an observer into a participant. 

In the docs notice the corner case explained in Sec 4.2.6 (Changing an observer 
into a follower) - in some cases you may need to first remove the observer 
(logically, using a reconfig) and then add it back as a participant. Usually 
you can do just one command though.




> Allow dynamic changes to roles of a peer
> ----------------------------------------
>
>                 Key: ZOOKEEPER-1044
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1044
>             Project: ZooKeeper
>          Issue Type: Sub-task
>          Components: quorum
>    Affects Versions: 3.3.0
>            Reporter: Vishal Kher
>            Assignee: Alexander Shraer
>             Fix For: 3.5.0
>
>
> Requirement: functionality that will reconfigure
> a OBSERVER to become a voting member and vice versa.
> Example of usage:
> 1. Maintain the Quorum size without changing the cluster size - in a 5
> node cluster with 2 observers, I decide to decommission a voting
> member. Then, I would like to configure one of my observers to be a
> follower without any down time.
> 2. Added a new server to the cluster that has better resources than
> one of the voting peers. Make the new node as voting peer and the old
> one as observer.
> 3. Reduce the size of voting member for performance reasons.
> Fix to ZOOKEEPER-107 might automatically give us this functionality.
> It will be good to confirm that, and if needed, highlight work
> that might be needed in addition to ZOOKEEPER-107.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to