Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

loqrecovery: support mixed version clusters in loss of quorum recovery #95344

Closed
aliher1911 opened this issue Jan 17, 2023 · 1 comment · Fixed by #96811
Closed

loqrecovery: support mixed version clusters in loss of quorum recovery #95344

aliher1911 opened this issue Jan 17, 2023 · 1 comment · Fixed by #96811
Assignees
Labels
A-kv-replication Relating to Raft, consensus, and coordination. C-enhancement Solution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)

Comments

@aliher1911
Copy link
Contributor

aliher1911 commented Jan 17, 2023

Offline loss of quorum recovery currently is oblivious to cockroachdb binary and cluster versions.

This is fine in case where all versions of cockroachdb binary are the same and file format is identical. In case of mixed versions, json serialized versions wouldn't load correctly between versions. This is applicable to both offline and half-online approach in its current RFC.

Add support of mixed version loss of quorum recovery.

This functionality is needed to simplify recovery process, otherwise operator should be deploying identical version to perform cli commands when performing recovery.

Part of #77273

Jira issue: CRDB-23466

Epic CRDB-14205

@aliher1911 aliher1911 added C-enhancement Solution expected to add code/behavior + preserve backward-compat (pg compat issues are exception) A-kv-replication Relating to Raft, consensus, and coordination. T-kv-replication labels Jan 17, 2023
@aliher1911 aliher1911 self-assigned this Jan 17, 2023
@blathers-crl
Copy link

blathers-crl bot commented Jan 17, 2023

cc @cockroachdb/replication

craig bot pushed a commit that referenced this issue Feb 16, 2023
97172: loqrecovery: add version gate to quorum recovery service r=erikgrinaker a=aliher1911

Previously loss of quorum recovery service was serving requests regardless of effective cluster version. That could lead to already upgraded node trying to make calls to endpoints that didn't exist on previous version.
This commit adds a version gate that only enables methods requiring support when cluster is fully upgraded.

Release note: None

Touches #95344

Co-authored-by: Oleg Afanasyev <[email protected]>
@craig craig bot closed this as completed in 898a32a Mar 16, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-kv-replication Relating to Raft, consensus, and coordination. C-enhancement Solution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant