You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by pa...@apache.org on 2017/04/06 13:17:20 UTC

cassandra git commit: Disable compaction during PendingRepairTests

Repository: cassandra
Updated Branches:
  refs/heads/trunk 4d15f2d06 -> 30820eacb


Disable compaction during PendingRepairTests

Patch by Paulo Motta; Reviewed by Blake Eggleston for CASSANDRA-13224


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/30820eac
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/30820eac
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/30820eac

Branch: refs/heads/trunk
Commit: 30820eacb9c565d06260031260910f020e16e83d
Parents: 4d15f2d
Author: Paulo Motta <pa...@gmail.com>
Authored: Tue Apr 4 12:09:16 2017 -0300
Committer: Paulo Motta <pa...@apache.org>
Committed: Thu Apr 6 10:16:54 2017 -0300

----------------------------------------------------------------------
 .../compaction/AbstractPendingRepairTest.java   |  1 +
 ...pactionStrategyManagerPendingRepairTest.java |  2 +
 .../db/compaction/PendingRepairManagerTest.java | 44 ++++++++++++++++----
 3 files changed, 40 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/30820eac/test/unit/org/apache/cassandra/db/compaction/AbstractPendingRepairTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/db/compaction/AbstractPendingRepairTest.java b/test/unit/org/apache/cassandra/db/compaction/AbstractPendingRepairTest.java
index 75f555d..0baad3b 100644
--- a/test/unit/org/apache/cassandra/db/compaction/AbstractPendingRepairTest.java
+++ b/test/unit/org/apache/cassandra/db/compaction/AbstractPendingRepairTest.java
@@ -88,6 +88,7 @@ public class AbstractPendingRepairTest extends AbstractRepairTest
         cfs = Schema.instance.getColumnFamilyStoreInstance(cfm.id);
         csm = cfs.getCompactionStrategyManager();
         nextSSTableKey = 0;
+        cfs.disableAutoCompaction();
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/cassandra/blob/30820eac/test/unit/org/apache/cassandra/db/compaction/CompactionStrategyManagerPendingRepairTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/db/compaction/CompactionStrategyManagerPendingRepairTest.java b/test/unit/org/apache/cassandra/db/compaction/CompactionStrategyManagerPendingRepairTest.java
index 27bff20..0b27f73 100644
--- a/test/unit/org/apache/cassandra/db/compaction/CompactionStrategyManagerPendingRepairTest.java
+++ b/test/unit/org/apache/cassandra/db/compaction/CompactionStrategyManagerPendingRepairTest.java
@@ -235,6 +235,7 @@ public class CompactionStrategyManagerPendingRepairTest extends AbstractPendingR
         Assert.assertTrue(sstable.isPendingRepair());
         Assert.assertFalse(sstable.isRepaired());
 
+        cfs.getCompactionStrategyManager().enable(); // enable compaction to fetch next background task
         AbstractCompactionTask compactionTask = csm.getNextBackgroundTask(FBUtilities.nowInSeconds());
         Assert.assertNotNull(compactionTask);
         Assert.assertSame(PendingRepairManager.RepairFinishedCompactionTask.class, compactionTask.getClass());
@@ -272,6 +273,7 @@ public class CompactionStrategyManagerPendingRepairTest extends AbstractPendingR
         Assert.assertTrue(sstable.isPendingRepair());
         Assert.assertFalse(sstable.isRepaired());
 
+        cfs.getCompactionStrategyManager().enable(); // enable compaction to fetch next background task
         AbstractCompactionTask compactionTask = csm.getNextBackgroundTask(FBUtilities.nowInSeconds());
         Assert.assertNotNull(compactionTask);
         Assert.assertSame(PendingRepairManager.RepairFinishedCompactionTask.class, compactionTask.getClass());

http://git-wip-us.apache.org/repos/asf/cassandra/blob/30820eac/test/unit/org/apache/cassandra/db/compaction/PendingRepairManagerTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/db/compaction/PendingRepairManagerTest.java b/test/unit/org/apache/cassandra/db/compaction/PendingRepairManagerTest.java
index 1b43217..a173b4b 100644
--- a/test/unit/org/apache/cassandra/db/compaction/PendingRepairManagerTest.java
+++ b/test/unit/org/apache/cassandra/db/compaction/PendingRepairManagerTest.java
@@ -18,6 +18,7 @@
 
 package org.apache.cassandra.db.compaction;
 
+import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
 import java.util.UUID;
@@ -152,10 +153,17 @@ public class PendingRepairManagerTest extends AbstractPendingRepairTest
         Assert.assertEquals(2, prm.getSessions().size());
         Assert.assertNull(prm.getNextBackgroundTask(FBUtilities.nowInSeconds()));
         AbstractCompactionTask compactionTask = prm.getNextRepairFinishedTask();
-        Assert.assertNotNull(compactionTask);
-        Assert.assertSame(PendingRepairManager.RepairFinishedCompactionTask.class, compactionTask.getClass());
-        PendingRepairManager.RepairFinishedCompactionTask cleanupTask = (PendingRepairManager.RepairFinishedCompactionTask) compactionTask;
-        Assert.assertEquals(repairID, cleanupTask.getSessionID());
+        try
+        {
+            Assert.assertNotNull(compactionTask);
+            Assert.assertSame(PendingRepairManager.RepairFinishedCompactionTask.class, compactionTask.getClass());
+            PendingRepairManager.RepairFinishedCompactionTask cleanupTask = (PendingRepairManager.RepairFinishedCompactionTask) compactionTask;
+            Assert.assertEquals(repairID, cleanupTask.getSessionID());
+        }
+        finally
+        {
+            compactionTask.transaction.abort();
+        }
     }
 
     @Test
@@ -179,7 +187,15 @@ public class PendingRepairManagerTest extends AbstractPendingRepairTest
         Assert.assertNotNull(prm.get(repairID));
         LocalSessionAccessor.finalizeUnsafe(repairID);
 
-        Assert.assertEquals(1, prm.getMaximalTasks(FBUtilities.nowInSeconds(), false).size());
+        Collection<AbstractCompactionTask> tasks = prm.getMaximalTasks(FBUtilities.nowInSeconds(), false);
+        try
+        {
+            Assert.assertEquals(1, tasks.size());
+        }
+        finally
+        {
+            tasks.stream().forEach(t -> t.transaction.abort());
+        }
     }
 
     @Test
@@ -191,7 +207,14 @@ public class PendingRepairManagerTest extends AbstractPendingRepairTest
         mutateRepaired(sstable, repairId);
         prm.addSSTable(sstable);
         List<AbstractCompactionTask> tasks = csm.getUserDefinedTasks(Collections.singleton(sstable), 100);
-        Assert.assertEquals(1, tasks.size());
+        try
+        {
+            Assert.assertEquals(1, tasks.size());
+        }
+        finally
+        {
+            tasks.stream().forEach(t -> t.transaction.abort());
+        }
     }
 
     @Test
@@ -208,6 +231,13 @@ public class PendingRepairManagerTest extends AbstractPendingRepairTest
         prm.addSSTable(sstable);
         prm.addSSTable(sstable2);
         List<AbstractCompactionTask> tasks = csm.getUserDefinedTasks(Lists.newArrayList(sstable, sstable2), 100);
-        Assert.assertEquals(2, tasks.size());
+        try
+        {
+            Assert.assertEquals(2, tasks.size());
+        }
+        finally
+        {
+            tasks.stream().forEach(t -> t.transaction.abort());
+        }
     }
 }