> From "Cassandra the definitive guide" - Basic Maintenance - Repair > "Running nodetool repair causes Cassandra to execute a major compaction..... > During a major compaction (see “Compaction” in the Glossary), the > server initiates a > TreeRequest/TreeReponse conversation to exchange Merkle trees with neighboring > nodes." > > So is this text from the book misleading ?
It's just being a bit less specific (I suppose maybe misleading can be claimed). If you repair everything on a node, that will imply a validating compaction (i.e., do the read part of the compaction stage but don't merge to and write new sstables) which is expensive for the usual reasons with disk I/O; it's "major" since it covers all data. The data read is in fact used to calculate a merkle tree for comparison with neighbors, as claimed. -- / Peter Schuller