Decrease write quorum for fully-replicated tables (buckets, API keys, ...) #919

Open
lx wants to merge 1 commit from hotfix/1.0.0-rc1-red-ftr-wquorum into next-v2
Owner

Currently, the write quorum for fully-replicated tables (buckets, access keys, etc) is n-1 nodes, so we tolerate a single node failure. Unfortunately this means that if a whole zone is down that contains several nodes, admin operations (creating buckets, etc) stop working. This is not normal as we expect Garage to continue operating normally when a whole dc is down.

This fixes the issue by reducing the write quorum to a majority of nodes. This patch is used in production at Deuxfleurs.

Currently, the write quorum for fully-replicated tables (buckets, access keys, etc) is n-1 nodes, so we tolerate a single node failure. Unfortunately this means that if a whole zone is down that contains several nodes, admin operations (creating buckets, etc) stop working. This is not normal as we expect Garage to continue operating normally when a whole dc is down. This fixes the issue by reducing the write quorum to a majority of nodes. This patch is used in production at Deuxfleurs.
lx added 1 commit 2025-01-04 19:24:09 +00:00
decrease write quorum
All checks were successful
ci/woodpecker/push/debug Pipeline was successful
ci/woodpecker/pr/debug Pipeline was successful
6558c15863
Author
Owner

TODO: what are the consistency implications of this change?

TODO: what are the consistency implications of this change?
All checks were successful
ci/woodpecker/push/debug Pipeline was successful
ci/woodpecker/pr/debug Pipeline was successful
This pull request can be merged automatically.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin hotfix/1.0.0-rc1-red-ftr-wquorum:hotfix/1.0.0-rc1-red-ftr-wquorum
git checkout hotfix/1.0.0-rc1-red-ftr-wquorum

Merge

Merge the changes and update on Forgejo.
git checkout next-v2
git merge --no-ff hotfix/1.0.0-rc1-red-ftr-wquorum
git checkout hotfix/1.0.0-rc1-red-ftr-wquorum
git rebase next-v2
git checkout next-v2
git merge --ff-only hotfix/1.0.0-rc1-red-ftr-wquorum
git checkout hotfix/1.0.0-rc1-red-ftr-wquorum
git rebase next-v2
git checkout next-v2
git merge --no-ff hotfix/1.0.0-rc1-red-ftr-wquorum
git checkout next-v2
git merge --squash hotfix/1.0.0-rc1-red-ftr-wquorum
git checkout next-v2
git merge --ff-only hotfix/1.0.0-rc1-red-ftr-wquorum
git checkout next-v2
git merge hotfix/1.0.0-rc1-red-ftr-wquorum
git push origin next-v2
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Deuxfleurs/garage#919
No description provided.