This is an automated email from the ASF dual-hosted git repository. samt pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/cassandra.git
The following commit(s) were added to refs/heads/trunk by this push: new 53cdefb1de Enabling single sstable uplevel by default 53cdefb1de is described below commit 53cdefb1de469c29a3292919c6a1782b092c1fae Author: nvharikrishna <n.v.harikrishna.apa...@gmail.com> AuthorDate: Tue May 9 21:42:09 2023 +0530 Enabling single sstable uplevel by default Patch by Venkata Harikrishna Nukala; reviewed by Marcus Eriksson and Sam Tunnicliffe for CASSANDRA-18509 --- .../db/compaction/LeveledCompactionStrategy.java | 2 +- .../cassandra/db/compaction/SingleSSTableLCSTask.java | 5 +++++ .../cassandra/db/compaction/CompactionsCQLTest.java | 6 +++--- .../db/compaction/LeveledCompactionStrategyTest.java | 17 ++++++++++++++--- 4 files changed, 23 insertions(+), 7 deletions(-) diff --git a/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java b/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java index fbf2894187..1509aa2e03 100644 --- a/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java +++ b/src/java/org/apache/cassandra/db/compaction/LeveledCompactionStrategy.java @@ -65,7 +65,7 @@ public class LeveledCompactionStrategy extends AbstractCompactionStrategy super(cfs, options); int configuredMaxSSTableSize = DEFAULT_MAX_SSTABLE_SIZE_MIB; int configuredLevelFanoutSize = DEFAULT_LEVEL_FANOUT_SIZE; - boolean configuredSingleSSTableUplevel = false; + boolean configuredSingleSSTableUplevel = true; SizeTieredCompactionStrategyOptions localOptions = new SizeTieredCompactionStrategyOptions(options); if (options != null) { diff --git a/src/java/org/apache/cassandra/db/compaction/SingleSSTableLCSTask.java b/src/java/org/apache/cassandra/db/compaction/SingleSSTableLCSTask.java index 2d9768924c..7a80451e2d 100644 --- a/src/java/org/apache/cassandra/db/compaction/SingleSSTableLCSTask.java +++ b/src/java/org/apache/cassandra/db/compaction/SingleSSTableLCSTask.java @@ -45,6 +45,11 @@ public class SingleSSTableLCSTask extends AbstractCompactionTask this.level = level; } + protected int getLevel() + { + return level; + } + @Override protected void executeInternal(ActiveCompactionsTracker activeCompactions) { diff --git a/test/unit/org/apache/cassandra/db/compaction/CompactionsCQLTest.java b/test/unit/org/apache/cassandra/db/compaction/CompactionsCQLTest.java index 34b91e1518..b18a20ec98 100644 --- a/test/unit/org/apache/cassandra/db/compaction/CompactionsCQLTest.java +++ b/test/unit/org/apache/cassandra/db/compaction/CompactionsCQLTest.java @@ -542,10 +542,10 @@ public class CompactionsCQLTest extends CQLTester getCurrentColumnFamilyStore().forceBlockingFlush(ColumnFamilyStore.FlushReason.UNIT_TESTS); LeveledCompactionStrategy lcs = (LeveledCompactionStrategy) getCurrentColumnFamilyStore().getCompactionStrategyManager().getUnrepairedUnsafe().first(); - LeveledCompactionTask lcsTask; + AbstractCompactionTask lcsTask; while (true) { - lcsTask = (LeveledCompactionTask) Iterables.getOnlyElement(lcs.getNextBackgroundTasks(0), null); + lcsTask = Iterables.getOnlyElement(lcs.getNextBackgroundTasks(0), null); if (lcsTask != null) { lcsTask.execute(CompactionManager.instance.active); @@ -591,7 +591,7 @@ public class CompactionsCQLTest extends CQLTester // ignored } - lcsTask = (LeveledCompactionTask) Iterables.getOnlyElement(lcs.getNextBackgroundTasks(0), null); + lcsTask = Iterables.getOnlyElement(lcs.getNextBackgroundTasks(0), null); try { assertNotNull(lcsTask); diff --git a/test/unit/org/apache/cassandra/db/compaction/LeveledCompactionStrategyTest.java b/test/unit/org/apache/cassandra/db/compaction/LeveledCompactionStrategyTest.java index 0a339b5b2d..00bb8b25ff 100644 --- a/test/unit/org/apache/cassandra/db/compaction/LeveledCompactionStrategyTest.java +++ b/test/unit/org/apache/cassandra/db/compaction/LeveledCompactionStrategyTest.java @@ -599,9 +599,20 @@ public class LeveledCompactionStrategyTest { try { - assertTrue(task instanceof LeveledCompactionTask); - LeveledCompactionTask lcsTask = (LeveledCompactionTask) task; - level = Math.max(level, lcsTask.getLevel()); + if (task instanceof LeveledCompactionTask) + { + LeveledCompactionTask lcsTask = (LeveledCompactionTask) task; + level = Math.max(level, lcsTask.getLevel()); + } + else if (task instanceof SingleSSTableLCSTask) + { + SingleSSTableLCSTask singleSSTableLCSTask = (SingleSSTableLCSTask) task; + level = Math.max(level, singleSSTableLCSTask.getLevel()); + } + else + { + Assert.fail("Got unexpected task of type " + task.getClass().getCanonicalName()); + } } finally { --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org