diff --git a/src/org/apache/cassandra/db/ColumnFamilyStore.java b/src/org/apache/cassandra/db/ColumnFamilyStore.java index cacefd25b9..8e414b6258 100644 --- a/src/org/apache/cassandra/db/ColumnFamilyStore.java +++ b/src/org/apache/cassandra/db/ColumnFamilyStore.java @@ -664,7 +664,7 @@ public class ColumnFamilyStore { try { - fs = new FileStruct(SequenceFile.bufferedReader(file, bufferSize)); + fs = new FileStruct(SequenceFile.bufferedReader(file, bufferSize), StorageService.getPartitioner()); fs.advance(); if(fs.isExhausted()) continue; diff --git a/src/org/apache/cassandra/db/FileStruct.java b/src/org/apache/cassandra/db/FileStruct.java index 012159e3e5..84e60324cf 100644 --- a/src/org/apache/cassandra/db/FileStruct.java +++ b/src/org/apache/cassandra/db/FileStruct.java @@ -24,6 +24,7 @@ import org.apache.cassandra.io.DataInputBuffer; import org.apache.cassandra.io.DataOutputBuffer; import org.apache.cassandra.io.IFileReader; import org.apache.cassandra.io.SSTable; +import org.apache.cassandra.service.IPartitioner; public class FileStruct implements Comparable @@ -33,10 +34,12 @@ public class FileStruct implements Comparable private IFileReader reader; private DataInputBuffer bufIn; private DataOutputBuffer bufOut; + private IPartitioner partitioner; - public FileStruct(IFileReader reader) + public FileStruct(IFileReader reader, IPartitioner partitioner) { this.reader = reader; + this.partitioner = partitioner; bufIn = new DataInputBuffer(); bufOut = new DataOutputBuffer(); } @@ -68,7 +71,7 @@ public class FileStruct implements Comparable public int compareTo(FileStruct f) { - return key.compareTo(f.key); + return partitioner.getDecoratedKeyComparator().compare(key, f.key); } /*