Let's assume we have a Cassandra cluster with the following ring: A -> B -> C -> D (no virtual nodes), and we assume that all the data is stored at RF=2. Now let's say that B dies, leaving us with the following ring A -> C -> D. Which means that C will need the replica of A's primary range and D the replica of B's primary range. (B's primary range do not need to be copied to C because C already holds a replica).
My questions are the following:
- If I run
nodetool repaironCit will get a copy ofA's primary range, but will it stream a copy ofB's primary range toD? - If I run
nodetool repair -pronAwill it stream it's primary range toC? - If I run
nodetool repair -pronCwill it streamB's primary range toD?