You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by sl...@apache.org on 2012/06/29 11:19:14 UTC
[2/4] git commit: Backport leveled integrity check from trunk
Backport leveled integrity check from trunk
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/09e54430
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/09e54430
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/09e54430
Branch: refs/heads/trunk
Commit: 09e54430d57647178bfae911cf0f5de1c64f335b
Parents: 75453d0
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Fri Jun 29 10:48:41 2012 +0200
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Fri Jun 29 10:48:41 2012 +0200
----------------------------------------------------------------------
.../cassandra/db/compaction/LeveledManifest.java | 13 +++++++++++++
1 files changed, 13 insertions(+), 0 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/09e54430/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java b/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java
index 9504072..b54fe93 100644
--- a/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java
+++ b/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java
@@ -33,6 +33,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.cassandra.db.ColumnFamilyStore;
+import org.apache.cassandra.db.DecoratedKey;
import org.apache.cassandra.db.RowPosition;
import org.apache.cassandra.dht.Bounds;
import org.apache.cassandra.dht.Token;
@@ -203,6 +204,18 @@ public class LeveledManifest
for (SSTableReader ssTableReader : added)
add(ssTableReader, newLevel);
+ if (newLevel != 0)
+ {
+ // Integerity check
+ DecoratedKey last = null;
+ Collections.sort(generations[newLevel], SSTable.sstableComparator);
+ for (SSTableReader sstable : generations[newLevel])
+ {
+ assert last == null || sstable.first.compareTo(last) > 0;
+ last = sstable.last;
+ }
+ }
+
serialize();
}