Sweaty Imposter

Read Repair

TechniqueCoordinationSeniorStaffUpdated
On a quorum read, if replicas disagree, write the freshest version back to the stale ones in the background.

When to Use Read Repair

Eventually-consistent stores where you tolerate some stale replicas but want them to converge without a separate sweep process.

In Practice

Cassandra and Dynamo do this on every read above CL.ONE. Combined with anti-entropy, replicas converge even without explicit reconciliation.

How Read Repair Comes Up in Interviews

Scenario

In a Dynamo-style store, a quorum read sometimes finds replicas disagreeing. Rather than waiting for a separate sweep job, the system writes the freshest version back to the stale replicas in the background of that same read. What's that called?

Read repair piggybacks reconciliation onto live reads. Anti-entropy is the related background process that catches cold data reads never touch.

Read repair piggybacks reconciliation onto live reads, when a quorum read sees disagreeing replicas, the coordinator picks the freshest version (by timestamp or vector clock) and writes it back to the stale replicas asynchronously. Cassandra does this on every read above CL.ONE; Dynamo's original paper introduces the technique. The limitation is that read-repair only fixes data someone actually reads: cold keys can stay stale forever, which is why production systems pair it with periodic anti-entropy (Merkle-tree comparison) for the cold data. The combo means hot data converges within one read RTT, and cold data converges within one anti-entropy cycle.