Fix snapshot repair error on indexed tables

patch by yukim; reviewed by jbellis for CASSANDRA-8020
This commit is contained in:
Yuki Morishita 2014-10-02 12:15:22 -05:00
parent f0893f544f
commit ca224b3239
2 changed files with 5 additions and 1 deletions

View File

@ -54,6 +54,7 @@
* Include snippet of CQL query near syntax error in messages (CASSANDRA-7111)
* Make repair -pr work with -local (CASSANDRA-7450)
* Fix error in sstableloader with -cph > 1 (CASSANDRA-8007)
* Fix snapshot repair error on indexed tables (CASSANDRA-8020)
Merged from 2.0:
* Fix potential exception when using ReversedType in DynamicCompositeType
(CASSANDRA-7898)

View File

@ -32,6 +32,7 @@ import org.apache.cassandra.db.ColumnFamilyStore;
import org.apache.cassandra.db.Keyspace;
import org.apache.cassandra.db.compaction.CompactionManager;
import org.apache.cassandra.dht.Bounds;
import org.apache.cassandra.dht.LocalPartitioner;
import org.apache.cassandra.dht.Range;
import org.apache.cassandra.dht.Token;
import org.apache.cassandra.io.sstable.SSTableReader;
@ -80,7 +81,9 @@ public class RepairMessageVerbHandler implements IVerbHandler<RepairMessage>
{
public boolean apply(SSTableReader sstable)
{
return sstable != null && new Bounds<>(sstable.first.getToken(), sstable.last.getToken()).intersects(Collections.singleton(repairingRange));
return sstable != null &&
!(sstable.partitioner instanceof LocalPartitioner) && // exclude SSTables from 2i
new Bounds<>(sstable.first.getToken(), sstable.last.getToken()).intersects(Collections.singleton(repairingRange));
}
});