Reputation: 169
As everyone would agree, Cassandra repairs are necessary but are very expensive and failure prone, gets stuck most of the time if any node in the cluster go down while the repair is running on any other node in the cluster. I am running full sequential repair on primary range using the following command in a rolling fashion:
node repair -pr -full -seq
But have a doubt, Is it enough to run this repair on every node of a data-center (I have 4 different data-centers) or is it required to be run on every node of the whole cluster? I found some documents on this topic, but the language doesn't answer this question properly. For example 3.1 Primary range repair
Upvotes: 3
Views: 2632
Reputation: 16400
Update: I was actually wrong here thinking ring as two DCs instead of single, the actual token Ring is more of:
| DC | Node | Token |
|-----|------|-------|
| DC1 |node1 | 1 |
| DC2 |node2 | 5 |
| DC1 |node3 | 10 |
| DC2 |node4 | 15 |
| DC1 |node5 | 20 |
| DC2 |node6 | 25 |
The primary range for node4 here is 11-15, not 6-15 (which is the primary range + local ranges). You must do -pr on each node. Deleting original so it doesn't cause any confusion.
Upvotes: 3