Database / Apache Cassandra Intermediate and Advanced interview questions
What is the difference between full repair and incremental repair?
Both are forms of anti-entropy repair, but they differ in how much data gets re-validated each time nodetool repair runs.
| Full Repair | Incremental Repair |
| Recomputes Merkle trees over all SSTables every run. | Only compares SSTables not already marked repaired. |
| Slower and more I/O intensive as data grows. | Faster on subsequent runs since repaired data is skipped. |
| Simpler mental model, fewer edge cases. | Historically prone to anti-compaction bugs on older versions. |
Incremental repair marks SSTables as "repaired" after a successful run, splitting them from "unrepaired" data via anti-compaction, so future repairs only need to examine the unrepaired set. This makes it far cheaper at scale, which is why it became the recommended default in modern Cassandra versions, though many operators historically preferred full repair on Cassandra 2.x/3.0 due to early incremental-repair stability issues that have since been resolved in later releases.
More Related questions...