add check for sstable overlap within a level on startup patch by jbellis; reviewed by Marcus Eriksson for CASSANDRA-5327
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/61465c39 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/61465c39 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/61465c39 Branch: refs/heads/trunk Commit: 61465c39a9ce602214975ca9d311f30fb2ce7e3d Parents: 6895bd6 Author: Jonathan Ellis <[email protected]> Authored: Fri Mar 8 17:36:03 2013 -0600 Committer: Jonathan Ellis <[email protected]> Committed: Fri Mar 8 17:36:03 2013 -0600 ---------------------------------------------------------------------- CHANGES.txt | 1 + .../cassandra/db/compaction/LeveledManifest.java | 3 +++ 2 files changed, 4 insertions(+), 0 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/61465c39/CHANGES.txt ---------------------------------------------------------------------- diff --git a/CHANGES.txt b/CHANGES.txt index 18b8de9..9296c6a 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 1.2.3 + * add check for sstable overlap within a level on startup (CASSANDRA-5327) * replace ipv6 colons in jmx object names (CASSANDRA-5298) * Avoid allocating SSTableBoundedScanner during repair when the range does not intersect the sstable (CASSANDRA-5249) http://git-wip-us.apache.org/repos/asf/cassandra/blob/61465c39/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 c1d831b..dd186d4 100644 --- a/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java +++ b/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java @@ -98,6 +98,9 @@ public class LeveledManifest manifest.add(ssTableReader); } + for (int i = 1; i < manifest.getAllLevelSize().length; i++) + manifest.repairOverlappingSSTables(i); + return manifest; }
