From 732695503b8cdb7ea4afc8da5729cb90505caaa2 Mon Sep 17 00:00:00 2001 From: Jonathan Ellis Date: Tue, 14 Apr 2009 05:12:44 +0000 Subject: [PATCH] fix compaction regression. patch by jbellis; reviewed by Todd Lipcon and Jun Rao for #80. git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@764679 13f79535-47bb-0310-9956-ffa450edef68 --- src/org/apache/cassandra/db/ColumnFamilyStore.java | 2 +- src/org/apache/cassandra/db/FileStruct.java | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) 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); } /*