Quorum read write-back
Quorum read write-back propagates a read's selected version to a protocol-required quorum and waits for acknowledgements before returning it.
The single-writer ABD register queries a majority, adopts the largest label and announces it to a majority before returning; receivers never decrease their labels. This prevents a later non-overlapping read from returning an older version. Its crash-stop assumptions do not establish persistence across restarts. Query replies alone do not complete the read: its write-back must also finish. Termination in the complete-network crash-stop model assumes a surviving majority and fair execution, not a response-time bound. [1]
Write-back is a protocol step, not a claim that every replica has converged or an asynchronous cache write-back policy. Cassandra's BLOCKING read repair has its own queried-data scope and partition-atomicity trade-off. [2]
After state loss, restarting is not the same as becoming operational. Michael et al.'s protocol separates recovering from operational replicas and uses incarnation information to obtain crash-consistent quorums. The model assumes fixed membership, retained process identities and a fresh per-process incarnation identifier on every restart; a process also recognizes that it is restarting. [4]
Relations
- related
- Read quorum, Quorum intersection, Read repair
Limitations
- Quorum overlap alone does not specify version ordering, acknowledged propagation or recovery behavior. [1]
- Selecting a version is not completion when the required write-back acknowledgements are unavailable. [1]
Citations
- Attiya, Bar-Noy and Dolev. Sharing Memory Robustly in Message-Passing Systems. JACM 42(1), 1995, sections 2-4; DOI: 10.1145/200836.200869.
- Apache Cassandra 5.0.0: Read repair; monotonic quorum reads and partition write atomicity.
- Ellis Michael et al. Recovering Shared Objects Without Stable Storage. DISC 2017, sections 3-4. DOI: 10.4230/LIPIcs.DISC.2017.36.
Further reading
Sources & caveats
- Primary-source synthesis and a separately labelled finite illustration; no database execution or new fault-tolerance proof.