Bucket and access key tables are not read-after-write consistent #147
Labels
No labels
action
check-aws
action
discussion-needed
action
for-external-contributors
action
for-newcomers
action
more-info-needed
action
need-funding
action
triage-required
kind
correctness
kind
ideas
kind
improvement
kind
performance
kind
testing
kind
usability
kind
wrong-behavior
prio
critical
prio
low
scope
admin-api
scope
background-healing
scope
build
scope
documentation
scope
k8s
scope
layout
scope
metadata
scope
ops
scope
rpc
scope
s3-api
scope
security
scope
telemetry
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: Deuxfleurs/garage#147
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The read quorums are currently set to 1 for these tables.
For reads, having a quorum of 1 is usefull to read faster: we can just read from the local node, no cost involved. This is not something we are willing to compromise on as it would make Garage drastically slower
To have read-after-write consistency and respect this property, we would need to have a quorum of n (number of nodes) for all write operations. But then we tolerate zero failures...
The fact that the quorum is currently set to 1 is the cause of a bug in the smoke test: if we allow (or disallow) website access for a bucket, it is propagated asynchronously to other nodes, therefore the check that an http request makes a 200 or a 404 doesn't always return the result that it should taking into account the last udpate. The issue can be avoided by running all steps of the test on the same node, however from a distributed point of view the issue persists and would certainly show up in Jepsen testing or so.
Bucket and key tables are not sequentially consistentto Bucket and key tables are not read-after-write consistentBucket and key tables are not read-after-write consistentto Bucket and access key tables are not read-after-write consistent