How can I estimate the Cassandra repair progress?

99 Views Asked by At

Me and my team is trying to build a tool to perform maintenance tool (with web interface) within our organisation and we want to show a progress bar on the tool showing estimate percentage and/or time to complete the repair. So my question is - Can I track the progress using status bar and how can I do that (like reading logs and putting the information into mathematical calculation to show progress) ?
Thanks in advance for help !!

Thanks, Jay

example - I have 50 GB of data load on node1 and from nodetool info I got to know that repaired % is 20. Now if I ran nodetool repair (for all the keyspaces), then repair will start and show "remaining time"/"estimated time"/"% processed data" etc information using progress bar at the bottom.

Something like this. Repair in progress for and for keyspace ============== 25% completed

1

There are 1 best solutions below

1
Paul On

I would consider using Reaper as it already handles the work for you: https://cassandra-reaper.io/

If you decide to track it yourself then there are a lot of mbeans available for repair, the logs are always good, you can also trace repairs to get a percentage included in that printout 'nodetool repair --trace', just look for 'progress: %' in that output. There is some amount of info that might be useful to you in system_distributed.repair_history, just be sure to grab the repair id when the repair is kicked off.