- Anti Entropy: Anti-entropy Repair is a process of comparing the data of all replicas and updating them with the newest version of data using Merkle Tree. Anti-entropy repair is triggered manually. It has two phases to the process:
- Building a Merkle tree for each replica
- Comparing the Merkle trees to discover differences
Anti-entropy repair is very useful and is often recommended to run periodically to keep data in sync.
- Read Repair: Read Repair is the process of fixing inconsistencies among the replica nodes at the time of read request. In a read operation, if some nodes respond with data that is inconsistent with the response of newer nodes, a Read Repair is performed on the old nodes. It ensures consistency throughout the node ring. Done by pulling all of the data from the node and performing a merge, and then writing it back to the nodes that were out of sync.
- Nodetool Repair: Nodetool repair command against a node, initiates repair for some range of tokens. The range being repaired depends on what options are specified. The default options, just calling “nodetool repair”, initiate a repair of every token range owned by the node
- Full Repair: Full Repairs operate over all of the data in the token range
- Incremental Repair: Incremental Repair only repairs the data that’s been written since the previous incremental repair. Incremental repairs are the default repair type, and if run regularly, can significantly reduce the time and I/O cost of performing a repair. It splits the data into repaired and unrepaired SSTables, and only repairs unrepaired data.Once an incremental repair marks data as repaired, it won’t try to repair it again. Incremental Repair is not recommended instead Full Repair should be performed.
Hope this helps.