BrianGallew/cassandra_range_repair — pull request #7 by BrianGallew (2014-06-15 01:38:17+00:00)
Title: Multiprocessing

Add capabilities to specify local repairs, snapshots, verbose and debugging messages, a specific nodetool command to use, and multiple workers.

If you attempt to use this as you did before, the only difference you should encounter is that -local and -snapshot are no longer the default. You have to specify them on the command line if you want them (--local and --snapshot, respectively).

--workers uses the multiprocessing module to run multiple repairs simultaneously. You should use this judiciously, as each repair is a separate python+java(nodetool) running on your host, in addition to everything else that's going on there. A reasonable first choice might be the number of CPUs you have.

Also, there was a range boundary bug that meant no range repair was ever attempted between TOKEN_MINIMUM_VALUE and LOWEST_ASSIGNED_TOKEN_IN_RING.