You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by jb...@apache.org on 2013/11/23 00:07:43 UTC
[2/3] git commit: Fix setting last compacted key in the wrong level
for LCS patch by Jiri Horky; reviewed by jbellis for CASSANDRA-6284
Fix setting last compacted key in the wrong level for LCS
patch by Jiri Horky; reviewed by jbellis for CASSANDRA-6284
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/02a93025
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/02a93025
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/02a93025
Branch: refs/heads/trunk
Commit: 02a93025e1db826216e4c24fbe6b5949405e4826
Parents: 4fd322f
Author: Jonathan Ellis <jb...@apache.org>
Authored: Fri Nov 22 17:06:08 2013 -0600
Committer: Jonathan Ellis <jb...@apache.org>
Committed: Fri Nov 22 17:06:13 2013 -0600
----------------------------------------------------------------------
CHANGES.txt | 4 ++++
.../apache/cassandra/db/compaction/LeveledManifest.java | 11 ++++++-----
2 files changed, 10 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/02a93025/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 8163c94..e85ba23 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,3 +1,7 @@
+2.0.4
+ * Fix setting last compacted key in the wrong level for LCS (CASSANDRA-6284)
+
+
2.0.3
* Fix FD leak on slice read path (CASSANDRA-6275)
* Cancel read meter task when closing SSTR (CASSANDRA-6358)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/02a93025/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 7348c29..5690bd8 100644
--- a/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java
+++ b/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java
@@ -137,8 +137,13 @@ public class LeveledManifest
// the level for the added sstables is the max of the removed ones,
// plus one if the removed were all on the same level
+ int minLevel = Integer.MAX_VALUE;
+
for (SSTableReader sstable : removed)
- remove(sstable);
+ {
+ int thisLevel = remove(sstable);
+ minLevel = Math.min(minLevel, thisLevel);
+ }
// it's valid to do a remove w/o an add (e.g. on truncate)
if (added.isEmpty())
@@ -147,12 +152,8 @@ public class LeveledManifest
if (logger.isDebugEnabled())
logger.debug("Adding [{}]", toString(added));
- int minLevel = Integer.MAX_VALUE;
for (SSTableReader ssTableReader : added)
- {
- minLevel = Math.min(minLevel, ssTableReader.getSSTableLevel());
add(ssTableReader);
- }
lastCompactedKeys[minLevel] = SSTable.sstableOrdering.max(added).last;
}