Why it matters
Skipping repair causes data resurrection: deleted data reappears when a tombstone expires while data still exists on lagging replica. Regular repair prevents this.
Advertisement
The architecture
Merkle tree: hash tree of data ranges. Comparing Merkle trees between replicas identifies divergent ranges cheaply.
Repair streams: for divergent ranges, transfer newest data from each replica to others.
Advertisement
How it works end to end
Full repair: covers all data. Expensive; run weekly at most.
Incremental repair: tracks previously-repaired ranges; only repairs new ones. Fast but has caveats (anti-compaction).
Subrange repair: repair specific token ranges. Enables scheduling.
Reaper (Cassandra Reaper tool): automates scheduling and monitoring of repair.