Closed Skunnyk closed 8 years ago
That seems to be an exceptionally silly bug if it really works that way. I have never used 2.1 and so am unfamiliar with it.
On Fri, Jan 22, 2016 at 7:20 AM Skunnyk notifications@github.com wrote:
On 20x, I usually run repair with range_repair -k keyspace -c columnfamily, which run :
nodetool repair -st (start token) -et (end token) $keyspace $columnfamily
The cassandra log was usually something like :
StorageServicejava (line 2496) starting user-requested repair of range [(300005707039417874,300156110175996167]] for keyspace $keyspace and column families [$columnfamily]
In 21, nodetool doesn't pass the "column family" option (as seen in the code in NodeTooljava), in case of use of startToken/endToken, so you repair all tables in the range… : See https://git-wip-usapacheorg/repos/asf?p=cassandragit;a=blob;f=src/java/org/apache/cassandra/tools/NodeTooljava;h=1d4a42024dd406f0c90fc6b99f599b4ab4a0948e;hb=refs/heads/cassandra-21#l1917
if (!startTokenisEmpty() || !endTokenisEmpty()) probeforceRepairRangeAsync(Systemout, keyspace, parallelismDegree, dataCenters,hosts, startToken, endToken, !incrementalRepair); else probeforceRepairAsync(Systemout, keyspace, parallelismDegree, dataCenters, hosts, primaryRange, !incrementalRepair, cfnames);
And the log :
StorageServicejava:2846 - starting user-requested repair of range [(9187601611781349802,9189958813088431561]] for keyspace $keyspace and column families []
The "column family" is emtpy, so we are reparing all column families between theses 2 tokens
Is it a bug (in cassandra ?), is it expected, or am I missing something ? :)
— Reply to this email directly or view it on GitHub https://github.com/BrianGallew/cassandra_range_repair/issues/31.
Fyi, it has been fixed in 2.1.16 (not yet released) : https://issues.apache.org/jira/browse/CASSANDRA-11866 .
Thank you :)
On 2.0.x, I usually run repair with
range_repair -k keyspace -c columnfamily
, which run :The cassandra log was usually something like :
In 2.1, nodetool doesn't pass the "column family" (cfnames) option (as seen in the code in NodeTool.java), in case of use of startToken/endToken, so you repair all tables in the range… : See https://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=blob;f=src/java/org/apache/cassandra/tools/NodeTool.java;h=1d4a42024dd406f0c90fc6b99f599b4ab4a0948e;hb=refs/heads/cassandra-2.1#l1917
And the log :
The "column family" is emtpy, so we are reparing all column families between theses 2 tokens.
Is it a bug (in cassandra ?), is it expected, or am I missing something ? :)