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

ASF GitHub Bot commented on ZOOKEEPER-2819:
-------------------------------------------

Github user shralex commented on a diff in the pull request:

    https://github.com/apache/zookeeper/pull/292#discussion_r124183585
  
    --- Diff: src/java/main/org/apache/zookeeper/server/quorum/QuorumPeer.java 
---
    @@ -1744,9 +1744,14 @@ public void setAcceptedEpoch(long e) throws 
IOException {
         public boolean processReconfig(QuorumVerifier qv, Long 
suggestedLeaderId, Long zxid, boolean restartLE) {
            InetSocketAddress oldClientAddr = getClientAddress();
     
    +       boolean isReconfigEnabled = QuorumPeerConfig.isReconfigEnabled();
            // update last committed quorum verifier, write the new config to 
disk
    -       // and restart leader election if config changed
    -       QuorumVerifier prevQV = setQuorumVerifier(qv, true);
    +       // and restart leader election if config changed. If reconfig 
feature is
    +       // not enabled, just set last committed quorum verifier and bail 
out.
    +       QuorumVerifier prevQV = setQuorumVerifier(qv, isReconfigEnabled);
    --- End diff --
    
    The server acts according to the config it has in its quorum verifier, so 
setting quorum verifier overwrites the config file settings with the leader's 
settings


> Changing membership configuration via rolling restart does not work on 3.5.x.
> -----------------------------------------------------------------------------
>
>                 Key: ZOOKEEPER-2819
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2819
>             Project: ZooKeeper
>          Issue Type: Bug
>          Components: quorum, server
>    Affects Versions: 3.5.0, 3.5.1, 3.5.2, 3.5.3
>            Reporter: Michael Han
>            Assignee: Michael Han
>            Priority: Critical
>
> In 3.5.x there is no easy way of changing the membership config using rolling 
> restarts because of the introduction of dynamic reconfig feature in 
> ZOOKEEPER-107, which automatically manages membership configuration 
> parameters.
> ZOOKEEPER-2014 introduced a reconfigEnabled flag to turn on / off the 
> reconfig feature. We can use same flag and when it sets to false, it should 
> disable both in memory and on disk updates of membership configuration 
> information, besides disabling the reconfig commands on CLI which 
> ZOOKEEPER-2014 already did, so users can continue using rolling restarts if 
> needed. 
> We should also document explicitly the support of membership changes via 
> rolling restarts will be deprecated at what release time frame and promote 
> reconfig as the replacement.
> The problem was raised at user mailing list by Guillermo Vega-Toro, reference 
> thread:
> http://zookeeper-user.578899.n2.nabble.com/How-to-add-nodes-to-a-Zookeeper-3-5-3-beta-ensemble-with-reconfigEnabled-false-td7583138.html



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to