question

Shannu avatar image
Shannu asked Shannu commented

Nodetool tablestats repair percent is 0.0 even though the cluster has two replicas

Recently I have changed the replication factor from 1 to 2, and ran a full repair on one full rack.

Upon observing tablestats, repair percent is still 0.0 even after running multiple full repairs.

Is this the expected behaviour?

dse version: 5.1.20

racks: 2

strategy: NetworkTopology Strategy

repair
10 |1000

Up to 8 attachments (including images) can be used with a maximum of 1.0 MiB each and 10.0 MiB total.

Erick Ramirez avatar image
Erick Ramirez answered Shannu commented

The output of nodetool tablestats doesn't have anything to do with the number of replicas.

The Percent repaired metric refers to the percentage of SSTables incrementally repaired. For example, if 50% of SSTables in the table have the repairedAt flag set then it will be reported as "50.0 percent repaired".

The Percent repaired metric will always be listed as zero if the table is not configured with incremental repairs. Full repairs (not incremental) do not set the repairedAt flag for SSTables since full repairs use a completely different logic for repairing data.

For more information, see Full repair vs Incremental repair. Cheers!

1 comment Share
10 |1000

Up to 8 attachments (including images) can be used with a maximum of 1.0 MiB each and 10.0 MiB total.

Shannu avatar image Shannu commented ·

Thanks for your response @Erick Ramirez
Definitely makes sense...but can you confirm that tablestats doesn't provide any insight in case of running full repairs

0 Likes 0 ·
starlord avatar image
starlord answered Shannu commented

Hi Shannu,

The 'Percent Repaired' in the tablestats output is only used when incremental repairs are ran on a table. We generally recommend that you avoid the use of incremental repairs, so you can also ignore that output in tablestats. If you use OpsCenter Repair Service, then that should give you visibility into your repairs, otherwise, you'll want to pull the status from the system.log to ensure repairs are completing when ran.

Let us know if you have any questions.

Thanks,

Paul

1 comment Share
10 |1000

Up to 8 attachments (including images) can be used with a maximum of 1.0 MiB each and 10.0 MiB total.

Shannu avatar image Shannu commented ·

Hi starlord,

Thanks for your answer, I have a followup question. Do you meant to say that tablestats won't be useful, if we run full repair.

Isnt tablestats meant to educate us about the percent repaired and data consistency between the nodes in the cluster provided rf > 1. If percent repair = 0.0 with rf > 2 what exactly should I infer from that stat?

0 Likes 0 ·