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

Alexander Shraer commented on ZOOKEEPER-2476:
---------------------------------------------

Yes, observers can be upgraded in case there is already enough other 
participants, such that their vote isn't needed. For example if we have (A, B, 
C) and C is an observer, we can upgrade it to participant because (A, B) is a 
majority of both the old and the new config, so their vote is enough and C's 
vote isn't needed. But in your scenario, C's vote is necessary to get a 
majority of the new config. 

The leader is the one throwing the exception in prep-request-processor, when it 
realizes that he doesn't have a quorum of participants in the new config 
connected (as participants).

> Not possible to upgrade via reconfig a Participant+Observer cluster to a 
> Participant+Participant cluster
> --------------------------------------------------------------------------------------------------------
>
>                 Key: ZOOKEEPER-2476
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2476
>             Project: ZooKeeper
>          Issue Type: Bug
>          Components: quorum, server
>    Affects Versions: 3.5.1
>            Reporter: Jordan Zimmerman
>            Assignee: Alexander Shraer
>            Priority: Critical
>         Attachments: ZOOKEEPER-2476.patch
>
>
> Contrary to the documentation, it is not possible to upgrade via reconfig a 
> Participant+Observer cluster to a Participant+Participant cluster. 
> KeeperException.NewConfigNoQuorum is thrown instead.
> PrepRequestProcessor should recognize this special case and let it pass. Test 
> will be enclosed shortly. I'll work on a fix as well, but I imagine that 
> [~shralex] will want to look at it.



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

Reply via email to