[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-2746?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alexander Shraer updated ZOOKEEPER-2746:
----------------------------------------
    Description: 
When non-trivial config change happens on the leader (e.g. port change, role 
change) to minimize disruption of quorum we do leader hand off by having the 
current leader nominate the next leader instead of kicking off a full leader 
election.

However this is a best effort and not a guarantee that the new leader of the 
quorum will be the nominated leader: it is possible that the nominated leader 
fail to establish the leadership during sync phase, which leads to new election 
rounds and a different leader elected. 

In ReconfigTest.testPortChange one check is the new leader after dynamic 
reconfig of the current leader has to be a different leader; based on what 
described earlier this is not always the case as the nominated leader might 
fail to get a quorum to ack its leadership during sync phase, and the old 
leader might end up as the new leader. We could either fixed the test by 
removing the check, or always guarantee that the new leader after dynamic 
reconfig is the nominated leader (which does not make much sense given the 
nominated leader also has a possibility to crash.).

  was:
When none trivial config change happens on the leader (e.g. port change, role 
change) to minimize disruption of quorum we do leader hand off by having the 
current leader nominate the next leader instead of kicking off a full leader 
election.

However this is a best effort and not a guarantee that the new leader of the 
quorum will be the nominated leader: it is possible that the nominated leader 
fail to establish the leadership during sync phase, which leads to new election 
rounds and a different leader elected. 

In ReconfigTest.testPortChange one check is the new leader after dynamic 
reconfig of the current leader has to be a different leader; based on what 
described earlier this is not always the case as the nominated leader might 
fail to get a quorum to ack its leadership during sync phase, and the old 
leader might end up as the new leader. We could either fixed the test by 
removing the check, or always guarantee that the new leader after dynamic 
reconfig is the nominated leader (which does not make much sense given the 
nominated leader also has a possibility to crash.).


> Leader hand-off during dynamic reconfig is best effort, while test always 
> expects it
> ------------------------------------------------------------------------------------
>
>                 Key: ZOOKEEPER-2746
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2746
>             Project: ZooKeeper
>          Issue Type: Test
>    Affects Versions: 3.5.2
>            Reporter: Michael Han
>            Assignee: Michael Han
>
> When non-trivial config change happens on the leader (e.g. port change, role 
> change) to minimize disruption of quorum we do leader hand off by having the 
> current leader nominate the next leader instead of kicking off a full leader 
> election.
> However this is a best effort and not a guarantee that the new leader of the 
> quorum will be the nominated leader: it is possible that the nominated leader 
> fail to establish the leadership during sync phase, which leads to new 
> election rounds and a different leader elected. 
> In ReconfigTest.testPortChange one check is the new leader after dynamic 
> reconfig of the current leader has to be a different leader; based on what 
> described earlier this is not always the case as the nominated leader might 
> fail to get a quorum to ack its leadership during sync phase, and the old 
> leader might end up as the new leader. We could either fixed the test by 
> removing the check, or always guarantee that the new leader after dynamic 
> reconfig is the nominated leader (which does not make much sense given the 
> nominated leader also has a possibility to crash.).



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to