You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The second issue is that the cluster leader may not be part of the new configuration.
In this case, the leader steps down (returns to follower state) once it has committed the log entry.
But the leader does NOT have to give up leadership:
Despite it should not cast a ballot(vote) for other candidates, a learner(AKA
non-voter, a node removed from cluster config) can nevertheless be a leader(or
become a candidate) as long as it wants. This non-voting leader:
handles write operations in the same way as a normal leader, except the local log store does not count in majority.
handles read operations in the same way as a normal leader.
NOTE: A learner(non-voter) does not have to reject vote requests.
Because raft ensures that a candidate using the second-to-last committed config
would never become the leader. Thanks to Gao Xinge.
Improvement
When a leader commits , it does NOT give up leadership, but just
keep serving as leader.
This way, membership config log does not need to be dealt with specially by an
implementation. The (non-voting) leader will be removed only if it is required:
by just shutting down the non-voting leader or informing it to transfer its
leadership to another node.
The text was updated successfully, but these errors were encountered:
What about allowing the leader to continue acting as a leader after a membership config without the leader being committed?
https://github.com/drmingdrmer/consensus-bugs/#raft-suboptimal-leader-step-down
But the leader does NOT have to give up leadership:
Despite it should not cast a ballot(vote) for other candidates, a learner(AKA
non-voter, a node removed from cluster config) can nevertheless be a leader(or
become a candidate) as long as it wants. This non-voting leader:
NOTE: A learner(non-voter) does not have to reject vote requests.
Because raft ensures that a candidate using the second-to-last committed config
would never become the leader. Thanks to Gao Xinge.
Improvement
When a leader commits , it does NOT give up leadership, but just
keep serving as leader.
This way, membership config log does not need to be dealt with specially by an
implementation. The (non-voting) leader will be removed only if it is required:
by just shutting down the non-voting leader or informing it to transfer its
leadership to another node.
The text was updated successfully, but these errors were encountered: