Skip to content

dc-dr: pin-standby says role pin, not data freeze - #839

Open
tamalsaha wants to merge 1 commit into
masterfrom
standbyhold-role-pin-doc
Open

dc-dr: pin-standby says role pin, not data freeze#839
tamalsaha wants to merge 1 commit into
masterfrom
standbyhold-role-pin-doc

Conversation

@tamalsaha

Copy link
Copy Markdown
Member

pin-standby told the operator, in both the help text and the runtime confirmation, that the hold "refuses destructive cross-DC rewinds of its data".

That stopped being true when standby-hold became a ROLE pin rather than a data freeze (pg-coordinator #270). The hold now stops a data center becoming primary; it does not stop that data center repairing its own data directory. Repairs are bounded by the same cross-DC loss budget that protects every other DC.

An operator reading the old text would conclude their data directory is frozen, which is the opposite of what the pin now guarantees, and would draw the wrong conclusion about what the pin protects them from.

Both strings are corrected:

  • pin-standby --help: the long description now states the role pin explicitly, says the data is still repaired within the loss budget, and names when a repair IS refused (more WAL than the budget allows, or a distance that cannot be measured).
  • the confirmation printed when the pin is applied, which is the text an operator actually reads at the moment they act.

Found by running the real command against a live cluster rather than reading the source: the help text and the runtime message are separate strings and only one of them had been noticed.

The help promised that a held DC's coordinator refuses destructive cross-DC
rewinds or re-seeds of the data it holds. That is no longer true: standby-hold
pins the role and the cross-DC loss budget protects the data, the same budget
that protects every other data center.

Leaving the old wording would be worse than the old behaviour, since an operator
would believe in a freeze that no longer exists.

Signed-off-by: Tamal Saha <tamal@appscode.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant