I read this recently: 

1.1.9 (also 1.2.1)
* ...
 * nodetool repair command now prints progress (CASSANDRA-4767)
* ...

Not sure how it works, I am still using the 1.1.6 version of C* but you might be interested in reading this.


2013/2/28 Michael Kjellman <mkjellman@barracuda.com>
There is no overall repair progress currently.

You can use some awk/grep hackery to try and figure it out from the logs. (This works best for a cleanup, less so for a repair because ranges are skipped and merkel trees take a long time to compare/generate/validate)

Remember, things might be streaming so also check netstats. If that's not the case check for exceptions that might have occurred and killed the repair job in your logs.

Also- nodetool just submits the jmx task. It isn't really a great indication (with ps as you checked) to see if a repair has finished. (In a perfect 1.2.2 world this is kind of untrue, but obviously there is lots of room for improvement here).


On Feb 28, 2013, at 7:01 AM, "Hiller, Dean" <Dean.Hiller@nrel.gov> wrote:

> I am running a repair, but I can't figure out how to find out what percent done it is.  How do I know if it is hung?  When I run "nodetool compactionstats" it shows nothing like so
> [cassandra@a4 ~]$ nodetool compactionstats
> pending tasks: 0
> Active compaction remaining time :        n/a
> [cassandra@a4 ~]$
> BUT then I look for the repair process and it is still running….
> [cassandra@a4 ~]$
> [cassandra@a4 ~]$ ps -ef | grep repair
> 500      13384     1  0 05:47 ?        00:00:00 /bin/sh /opt/cassandra/bin/nodetool repair -h a4 databus5 -pr
> 500      13388 13384  0 05:47 ?        00:00:03 /opt/jdk/bin/java -cp /opt/cassandra/conf:/opt/cassandra/build/classes/main:/opt/cassandra/build/classes/thrift:/opt/cassandra/lib/antlr-3.2.jar:/opt/cassandra/lib/apache-cassandra-1.1.4.jar:/opt/cassandra/lib/apache-cassandra-clientutil-1.1.4.jar:/opt/cassandra/lib/apache-cassandra-thrift-1.1.4.jar:/opt/cassandra/lib/avro-1.4.0-fixes.jar:/opt/cassandra/lib/avro-1.4.0-sources-fixes.jar:/opt/cassandra/lib/commons-cli-1.1.jar:/opt/cassandra/lib/commons-codec-1.2.jar:/opt/cassandra/lib/commons-lang-2.4.jar:/opt/cassandra/lib/compress-lzf-0.8.4.jar:/opt/cassandra/lib/concurrentlinkedhashmap-lru-1.3.jar:/opt/cassandra/lib/guava-r08.jar:/opt/cassandra/lib/high-scale-lib-1.1.2.jar:/opt/cassandra/lib/jackson-core-asl-1.9.2.jar:/opt/cassandra/lib/jackson-mapper-asl-1.9.2.jar:/opt/cassandra/lib/jamm-0.2.5.jar:/opt/cassandra/lib/jline-0.9.94.jar:/opt/cassandra/lib/json-simple-1.1.jar:/opt/cassandra/lib/libthrift-0.7.0.jar:/opt/cassandra/lib/log4j-1.2.16.jar:/opt/cassandra/lib/metrics-core-2.0.3.jar:/opt/cassandra/lib/servlet-api-2.5-20081211.jar:/opt/cassandra/lib/slf4j-api-1.6.1.jar:/opt/cassandra/lib/slf4j-log4j12-1.6.1.jar:/opt/cassandra/lib/snakeyaml-1.6.jar:/opt/cassandra/lib/snappy-java- -Xmx32m -Dlog4j.configuration=log4j-tools.properties -Dstorage-config=/opt/cassandra/conf org.apache.cassandra.tools.NodeCmd repair -h a4 databus5 -pr
> 500      14464 13812  0 07:59 pts/1    00:00:00 grep repair
> [cassandra@a4 ~]$

Copy, by Barracuda, helps you store, protect, and share all your amazing
things. Start today: www.copy.com.