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

Reply via email to