zookeeper-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexander Shraer (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (ZOOKEEPER-2746) Leader hand-off during dynamic reconfig is best effort, while test always expects it
Date Tue, 04 Apr 2017 23:54:41 GMT

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

Mime
View raw message