Database / Apache Cassandra Intermediate and Advanced interview questions
What is anti-entropy repair and why is it needed?
Anti-entropy repair (run via nodetool repair) is the mechanism that guarantees replicas eventually converge, covering the gaps that hinted handoff and read repair leave behind.
- Each replica builds a Merkle tree — a hash tree summarizing the data in a token range.
- Replicas exchange and compare their Merkle trees.
- Only the branches where hashes differ are flagged, and just the underlying data for those specific ranges is streamed between replicas — not the entire dataset.
Repair is necessary because hints can be lost (coordinator crash, hint window expiry) and read repair only touches data that's actually queried. Without periodic repair, cold or rarely-read partitions can silently diverge forever.
Repair is also what makes gc_grace_seconds safe: Cassandra assumes every replica has been repaired at least once within that window before a tombstone is permanently purged, so skipping repairs risks deleted data quietly reappearing (so-called "zombie" data).
More Related questions...