Updated Branches: refs/heads/cassandra-1.1 f04e39df7 -> 09e54430d
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/cassandra-1.1 Commit: 09e54430d57647178bfae911cf0f5de1c64f335b Parents: 75453d0 Author: Sylvain Lebresne <[email protected]> Authored: Fri Jun 29 10:48:41 2012 +0200 Committer: Sylvain Lebresne <[email protected]> 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(); }
