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();
     }