Repository: cassandra Updated Branches: refs/heads/trunk a0a0e823e -> 39bf436fa
LCS estimated compaction tasks does not take number of files into account patch by Jan Karlsson; reviewed by marcuse for CASSANDRA-13354 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/39bf436f Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/39bf436f Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/39bf436f Branch: refs/heads/trunk Commit: 39bf436faa3e17de6f1bcf8e47ab7fa80fe5c0c8 Parents: a0a0e82 Author: Jan Karlsson <jan.karls...@ericsson.com> Authored: Mon Mar 20 16:37:43 2017 +0100 Committer: Marcus Eriksson <marc...@apache.org> Committed: Fri Apr 7 12:56:10 2017 +0200 ---------------------------------------------------------------------- CHANGES.txt | 1 + .../org/apache/cassandra/db/compaction/LeveledManifest.java | 7 +++++++ 2 files changed, 8 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/39bf436f/CHANGES.txt ---------------------------------------------------------------------- diff --git a/CHANGES.txt b/CHANGES.txt index f74914c..7797903 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 4.0 + * Take number of files in L0 in account when estimating remaining compaction tasks (CASSANDRA-13354) * Skip building views during base table streams on range movements (CASSANDRA-13065) * Improve error messages for +/- operations on maps and tuples (CASSANDRA-13197) * Remove deprecated repair JMX APIs (CASSANDRA-11530) http://git-wip-us.apache.org/repos/asf/cassandra/blob/39bf436f/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 0c53812..9b735de 100644 --- a/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java +++ b/src/java/org/apache/cassandra/db/compaction/LeveledManifest.java @@ -793,6 +793,13 @@ public class LeveledManifest tasks += estimated[i]; } + if (!DatabaseDescriptor.getDisableSTCSInL0() && getLevel(0).size() > MAX_COMPACTING_L0) + { + int l0compactions = getLevel(0).size() / MAX_COMPACTING_L0; + tasks += l0compactions; + estimated[0] += l0compactions; + } + logger.trace("Estimating {} compactions to do for {}.{}", Arrays.toString(estimated), cfs.keyspace.getName(), cfs.name); return Ints.checkedCast(tasks);