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