Hello,
Good day. This is Martin.
Can someone help me with the following query regarding Cassandra repair and
compaction?
Currently we have a large keyspace (keyspace_event) with 1TB of data (in
/var/lib/cassandra/data/keyspace_event);
There is a cluster with Datacenter 1 contains 3 nodes, Data center 2
containing 3 nodes; All together 6 nodes;
As part of maintenance, I run the repair on this keyspace with the
following command:
nodetool repair -pr --full keyspace_event;
now it has been run for 2 days. yes 2 days, when doing nodetool tpstats, it
shows there is a compaction running:
CompactionExecutor 1 1 5783732 0
0
nodetool compactionstats shows:
pending tasks: 6
id compaction type
keyspace table completed
total unit progress
249ec5f1-b225-11e9-82bd-5b36ef02cadd Anticompaction after repair
keyspace_event table_event 1916937740948 2048931045927 bytes
93.56%
Now my questions are:
1. why running repair (with primary range option, -pr, as I want to limit
the repair node by node), triggered the compaction running on other nodes?
2. when I run the repair on the second node with nodetool repair -pr --full
keyspace_event; will the subsequent compaction run again on all the 6 nodes?
I want to know what are the best option to run the repair (full repair) as
we did not run it before, especially if it can take less time (in current
speed it will take 2 weeks to finish all).
I am running Cassandra 3.0.14
Any suggestions will be appreciated.
Thanks
Regards
Martin