Reputation: 95
We are planning to activate incremental reparis in our Cassandra cluster and after reading the documentation it seems that we have to follow a migration procedure to add the timestamp marker that lets Cassandra know when the repair was done for the last time.
After reading the procedure I have some questions:
What happens to new SSTables created after the full repair in the procedure? Acording to the steps from the previous link we will never set the marker for them.
Doing some tests in a test cluster we tried retrieving the repair timestamp from a SSTable before doing the migration (using the sstablemetadata command) and it return "Repaired at 0", as expected, then we tried to run an incremental repair directly (without doing the migration) and we were able to verify that the "Repaired at" value had been set correctly and everything seemed to be working fine. Does this mean that the migration process is redundant? Is it safe to ignore it?
Upvotes: 0
Views: 209
Reputation: 4031
What happens to new SSTables created after the full repair in the procedure? Acording to the steps from the previous link we will never set the marker for them.
Once you start running incremental repairs, it will get set by those running.
Doing some tests in a test cluster we tried retrieving the repair timestamp from a SSTable before doing the migration (using the sstablemetadata command) and it return "Repaired at 0", as expected, then we tried to run an incremental repair directly (without doing the migration) and we were able to verify that the "Repaired at" value had been set correctly and everything seemed to be working fine. Does this mean that the migration process is redundant? Is it safe to ignore it?
If you don't have a lot of data then you can skip the first part and just start running incremental repairs. The reason for doing the first step is that sub range repairs and incremental repairs are not really compatible, and when you have a big data set you usually need to do sub range repairs for them to finish in a normal amount of time and not consume too many resources. Since an incremental repair does not work with sub range repairs, that first incremental repair could overwhelm your nodes if you didn't do the first steps to set the repaired at time.
Upvotes: 2