cassandra - How do I run a repair only within a certain datacenter? -


i want run repair specific cassandra datacenter within larger cluster. how can nodetool repair -local -pr not seem work:

$ nodetool repair -local -pr exception in thread "main" java.lang.runtimeexception: primary range repair should performed on nodes in cluster.     @ org.apache.cassandra.tools.nodecmd.optionalksandcfs(nodecmd.java:1680)     @ org.apache.cassandra.tools.nodecmd.main(nodecmd.java:1378) 

per cassandra-7317 should use -pr when mean run repair -pr on nodes in cluster (this includes data centers). otherwise, may end missing token ranges in repair.

the error message seeing introduced in c* 2.0.9 prevent users running -local , -pr together.

if want repair local dc, don't use -pr flag.

to decrease impact of running repairs check out these options:

opscenter repair service

takes care of repairs automatically , spreads them out across gc_grace period don't 1) have worry repairs operational perspective , 2) cassandra ingest isn't affected expensive weekly job (repairs cpu , io intensive).

repair service alternative

if you're not on dse, repair service grayed out. can write , manage own repair service script. check out stump's github example of might like.

note: keep eye on ticket cassandra-6434


Comments

Popular posts from this blog

android - MPAndroidChart - How to add Annotations or images to the chart -

javascript - Add class to another page attribute using URL id - Jquery -

firefox - Where is 'webgl.osmesalib' parameter? -