Database / ScyllaDB Interview questions
How is repair implemented in ScyllaDB?
Repair is ScyllaDB's anti-entropy process for reconciling data drift between replicas that can build up from missed writes, expired hints, or clock/network issues. It compares data across replicas, typically using Merkle trees, hash-tree structures that let two replicas efficiently find which ranges of data actually differ without transferring and comparing every row.
Each replica builds a Merkle tree over its data for a given token range; comparing trees quickly narrows down to the specific sub-ranges that are out of sync, and only those are streamed and reconciled, rather than re-transferring the entire dataset. Repair is typically scheduled and orchestrated cluster-wide through ScyllaDB Manager rather than triggered manually per node, since running it on a rolling, regular basis (well within gc_grace_seconds) is what guarantees that tombstones are consistent across all replicas before they're purged by compaction, preventing deleted data from silently reappearing.
More Related questions...