etcdserver: enable "CheckQuorum" when starting with "ForceNewCluster" #9347
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
We enable "raft.Config.CheckQuorum" by default in other
Raft initial starts. So should start with "ForceNewCluster".
If new members are added to standalone node with
CheckQuorum == false
and the standalone node is the leader, this may reduce cluster availabilities, since the leader won't check quorum activities.For current etcd, it won't help a lot, but once we enable Pre-Vote, this will be useful. For instance,
pb.MsgAppResp
from isolated candidate may be dropped or not even be triggered with Pre-Vote, and thenpb.Msg[Pre]Vote
arrives with higher term. And if the check quorum is false, the vote request would force current leader to step down even if the leader lease is still valid. If check quorum is true, the vote request will be ignored when its leader lease is still valid, thus less disruptive.Reproducible (will write a better test case after pre-vote feature):