Preserve sync quorum in primary PDB without master selector#3119
Open
annielzy wants to merge 2 commits into
Open
Preserve sync quorum in primary PDB without master selector#3119annielzy wants to merge 2 commits into
annielzy wants to merge 2 commits into
Conversation
…elector is disabled
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Problem
Clusters with
synchronous_mode_strict: trueneed master + 1 in-sync replica to accept writes. Settingpdb_master_label_selector: falsekeepsminAvailable: 1, which allows up to N-1 simultaneous evictions on an N-node cluster, enough to drop below sync quorum and make the cluster read-only during rolling node drains.Change
When
pdb_master_label_selectoris false andsynchronous_mode_strictis true, the primary PDB now sets:minAvailable: synchronous_node_count + 1This preserves the write quorum of primary plus required synchronous replicas during voluntary disruptions such as rolling node drains.
Default behavior is unchanged when
pdb_master_label_selectoris enabled/unset orsynchronous_mode_strictis false.