mirror of
https://github.com/scylladb/scylladb.git
synced 2026-06-03 13:37:04 +00:00
Currently, shard zero is the coordinator of the repair. All the work of checksuming of the local node and sending of the repair checksum rpc verb is done on shard zero only. This causes other shards being underutilized. With this patch, we split the ranges need to be repaired into at least smp::count ranges, so sizeof(ranges) / smp::count will be assigned to each shard. For exmaple, we have 8 shards and 256 ragnes, each shard will repair 32 ranges. Each shard will repair the 32 ranges sequencially. There will be at most 8 (smp::count) ranges of repair in parallel.