This is an automated email from the ASF dual-hosted git repository.

clebertsuconic pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git


The following commit(s) were added to refs/heads/master by this push:
     new 4445261  ARTEMIS-2382 Reclaimer doesn't need to be instantiatable
     new a046453  This closes #2704
4445261 is described below

commit 4445261f345315f29a6124e67747f611066cbe84
Author: Francesco Nigro <[email protected]>
AuthorDate: Mon Jun 17 11:52:55 2019 +0200

    ARTEMIS-2382 Reclaimer doesn't need to be instantiatable
---
 .../artemis/core/journal/impl/JournalImpl.java     |  8 +-
 .../artemis/core/journal/impl/Reclaimer.java       |  7 +-
 .../unit/core/journal/impl/ReclaimerTest.java      | 93 +++++++++++-----------
 3 files changed, 54 insertions(+), 54 deletions(-)

diff --git 
a/artemis-journal/src/main/java/org/apache/activemq/artemis/core/journal/impl/JournalImpl.java
 
b/artemis-journal/src/main/java/org/apache/activemq/artemis/core/journal/impl/JournalImpl.java
index 203edd3..0139367 100644
--- 
a/artemis-journal/src/main/java/org/apache/activemq/artemis/core/journal/impl/JournalImpl.java
+++ 
b/artemis-journal/src/main/java/org/apache/activemq/artemis/core/journal/impl/JournalImpl.java
@@ -84,6 +84,8 @@ import 
org.apache.activemq.artemis.utils.collections.ConcurrentLongHashMap;
 import org.apache.activemq.artemis.utils.collections.ConcurrentLongHashSet;
 import org.jboss.logging.Logger;
 
+import static org.apache.activemq.artemis.core.journal.impl.Reclaimer.scan;
+
 /**
  * <p>A circular log implementation.</p>
  * <p>Look at {@link JournalImpl#load(LoaderCallback)} for the file layout
@@ -214,8 +216,6 @@ public class JournalImpl extends JournalBase implements 
TestableJournal, Journal
 
    private volatile int compactCount = 0;
 
-   private final Reclaimer reclaimer = new Reclaimer();
-
    public float getCompactPercentage() {
       return compactPercentage;
    }
@@ -2156,7 +2156,7 @@ public class JournalImpl extends JournalBase implements 
TestableJournal, Journal
             break;
       }
       try {
-         reclaimer.scan(getDataFiles());
+         scan(getDataFiles());
 
          for (JournalFile file : filesRepository.getDataFiles()) {
             if (file.isCanReclaim()) {
@@ -2249,7 +2249,7 @@ public class JournalImpl extends JournalBase implements 
TestableJournal, Journal
    /* Only meant to be used in tests. */
    @Override
    public String debug() throws Exception {
-      reclaimer.scan(getDataFiles());
+      scan(getDataFiles());
 
       StringBuilder builder = new StringBuilder();
 
diff --git 
a/artemis-journal/src/main/java/org/apache/activemq/artemis/core/journal/impl/Reclaimer.java
 
b/artemis-journal/src/main/java/org/apache/activemq/artemis/core/journal/impl/Reclaimer.java
index 3760723..5fbe69b 100644
--- 
a/artemis-journal/src/main/java/org/apache/activemq/artemis/core/journal/impl/Reclaimer.java
+++ 
b/artemis-journal/src/main/java/org/apache/activemq/artemis/core/journal/impl/Reclaimer.java
@@ -32,15 +32,18 @@ import org.jboss.logging.Logger;
  * <p>2) All pos that correspond to any neg in file Fn, must all live in any 
file Fm where {@code 0 <= m <= n}
  * which are also marked for deletion in the same pass of the algorithm.</p>
  */
-public class Reclaimer {
+public final class Reclaimer {
 
    private static final Logger logger = Logger.getLogger(Reclaimer.class);
 
+   private Reclaimer() {
+   }
+
    // The files are scanned in two stages. First we only check for 2) and do 
so while that criteria is not met.
    // When 2) is met, set the first reclaim flag in the journal. After that 
point only check for 1)
    // until that criteria is met as well. When 1) is met we set the second 
flag and the file can be reclaimed.
 
-   public void scan(final JournalFile[] files) {
+   public static void scan(final JournalFile[] files) {
       for (int i = 0; i < files.length; i++) {
          JournalFile currentFile = files[i];
 
diff --git 
a/tests/unit-tests/src/test/java/org/apache/activemq/artemis/tests/unit/core/journal/impl/ReclaimerTest.java
 
b/tests/unit-tests/src/test/java/org/apache/activemq/artemis/tests/unit/core/journal/impl/ReclaimerTest.java
index e4dbad0..10674ac 100644
--- 
a/tests/unit-tests/src/test/java/org/apache/activemq/artemis/tests/unit/core/journal/impl/ReclaimerTest.java
+++ 
b/tests/unit-tests/src/test/java/org/apache/activemq/artemis/tests/unit/core/journal/impl/ReclaimerTest.java
@@ -22,24 +22,21 @@ import java.util.Map;
 import org.apache.activemq.artemis.core.io.SequentialFile;
 import org.apache.activemq.artemis.core.journal.impl.JournalFile;
 import org.apache.activemq.artemis.core.journal.impl.JournalImpl;
-import org.apache.activemq.artemis.core.journal.impl.Reclaimer;
 import org.apache.activemq.artemis.tests.util.ActiveMQTestBase;
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
 
+import static org.apache.activemq.artemis.core.journal.impl.Reclaimer.scan;
+
 public class ReclaimerTest extends ActiveMQTestBase {
 
    private JournalFile[] files;
 
-   private Reclaimer reclaimer;
-
    @Override
    @Before
    public void setUp() throws Exception {
       super.setUp();
-
-      reclaimer = new Reclaimer();
    }
 
    @Test
@@ -48,7 +45,7 @@ public class ReclaimerTest extends ActiveMQTestBase {
 
       setupPosNeg(0, 10, 10);
 
-      reclaimer.scan(files);
+      scan(files);
 
       assertCanDelete(0);
    }
@@ -59,7 +56,7 @@ public class ReclaimerTest extends ActiveMQTestBase {
 
       setupPosNeg(0, 10, 7);
 
-      reclaimer.scan(files);
+      scan(files);
 
       assertCantDelete(0);
    }
@@ -70,7 +67,7 @@ public class ReclaimerTest extends ActiveMQTestBase {
 
       setupPosNeg(0, 10);
 
-      reclaimer.scan(files);
+      scan(files);
 
       assertCantDelete(0);
    }
@@ -81,7 +78,7 @@ public class ReclaimerTest extends ActiveMQTestBase {
 
       setupPosNeg(0, 0, 10);
 
-      reclaimer.scan(files);
+      scan(files);
 
       assertCanDelete(0);
    }
@@ -93,7 +90,7 @@ public class ReclaimerTest extends ActiveMQTestBase {
       setupPosNeg(0, 10);
       setupPosNeg(1, 0, 10);
 
-      reclaimer.scan(files);
+      scan(files);
 
       assertCanDelete(0);
       assertCanDelete(1);
@@ -107,7 +104,7 @@ public class ReclaimerTest extends ActiveMQTestBase {
       setupPosNeg(0, 10, 10);
       setupPosNeg(1, 10, 0, 10);
 
-      reclaimer.scan(files);
+      scan(files);
 
       assertCanDelete(0);
       assertCanDelete(1);
@@ -121,7 +118,7 @@ public class ReclaimerTest extends ActiveMQTestBase {
       setupPosNeg(0, 10, 7);
       setupPosNeg(1, 10, 3, 10);
 
-      reclaimer.scan(files);
+      scan(files);
 
       assertCanDelete(0);
       assertCanDelete(1);
@@ -134,7 +131,7 @@ public class ReclaimerTest extends ActiveMQTestBase {
       setupPosNeg(0, 10, 10);
       setupPosNeg(1, 10);
 
-      reclaimer.scan(files);
+      scan(files);
 
       assertCanDelete(0);
       assertCantDelete(1);
@@ -147,7 +144,7 @@ public class ReclaimerTest extends ActiveMQTestBase {
       setupPosNeg(0, 10);
       setupPosNeg(1, 10, 0, 10);
 
-      reclaimer.scan(files);
+      scan(files);
 
       assertCantDelete(0);
       assertCanDelete(1);
@@ -160,7 +157,7 @@ public class ReclaimerTest extends ActiveMQTestBase {
       setupPosNeg(0, 10);
       setupPosNeg(1, 10);
 
-      reclaimer.scan(files);
+      scan(files);
 
       assertCantDelete(0);
       assertCantDelete(1);
@@ -173,7 +170,7 @@ public class ReclaimerTest extends ActiveMQTestBase {
       setupPosNeg(0, 10);
       setupPosNeg(1, 10, 10);
 
-      reclaimer.scan(files);
+      scan(files);
 
       assertCanDelete(0);
       assertCantDelete(1);
@@ -189,7 +186,7 @@ public class ReclaimerTest extends ActiveMQTestBase {
       setupPosNeg(1, 10, 0, 10, 0);
       setupPosNeg(2, 10, 0, 0, 10);
 
-      reclaimer.scan(files);
+      scan(files);
 
       assertCanDelete(0);
       assertCanDelete(1);
@@ -204,7 +201,7 @@ public class ReclaimerTest extends ActiveMQTestBase {
       setupPosNeg(1, 10, 3, 5, 0);
       setupPosNeg(2, 10, 0, 5, 10);
 
-      reclaimer.scan(files);
+      scan(files);
 
       assertCanDelete(0);
       assertCanDelete(1);
@@ -219,7 +216,7 @@ public class ReclaimerTest extends ActiveMQTestBase {
       setupPosNeg(1, 10, 6, 5, 0);
       setupPosNeg(2, 10, 3, 5, 10);
 
-      reclaimer.scan(files);
+      scan(files);
 
       assertCanDelete(0);
       assertCanDelete(1);
@@ -234,7 +231,7 @@ public class ReclaimerTest extends ActiveMQTestBase {
       setupPosNeg(1, 10, 6, 5, 0);
       setupPosNeg(2, 0, 3, 5, 0);
 
-      reclaimer.scan(files);
+      scan(files);
 
       assertCanDelete(0);
       assertCanDelete(1);
@@ -249,7 +246,7 @@ public class ReclaimerTest extends ActiveMQTestBase {
       setupPosNeg(1, 0, 6, 0, 0);
       setupPosNeg(2, 0, 3, 0, 0);
 
-      reclaimer.scan(files);
+      scan(files);
 
       assertCanDelete(0);
       assertCanDelete(1);
@@ -266,7 +263,7 @@ public class ReclaimerTest extends ActiveMQTestBase {
       setupPosNeg(1, 10, 0, 5, 0);
       setupPosNeg(2, 10, 0, 5, 10);
 
-      reclaimer.scan(files);
+      scan(files);
 
       assertCantDelete(0);
       assertCanDelete(1);
@@ -281,7 +278,7 @@ public class ReclaimerTest extends ActiveMQTestBase {
       setupPosNeg(1, 10, 0, 5, 0);
       setupPosNeg(2, 0, 0, 5, 0);
 
-      reclaimer.scan(files);
+      scan(files);
 
       assertCantDelete(0);
       assertCanDelete(1);
@@ -296,7 +293,7 @@ public class ReclaimerTest extends ActiveMQTestBase {
       setupPosNeg(1, 10, 0, 5, 0);
       setupPosNeg(2, 0, 0, 5, 10);
 
-      reclaimer.scan(files);
+      scan(files);
 
       assertCantDelete(0);
       assertCanDelete(1);
@@ -311,7 +308,7 @@ public class ReclaimerTest extends ActiveMQTestBase {
       setupPosNeg(1, 10, 0, 5, 0);
       setupPosNeg(2, 0, 0, 5, 0);
 
-      reclaimer.scan(files);
+      scan(files);
 
       assertCantDelete(0);
       assertCanDelete(1);
@@ -328,7 +325,7 @@ public class ReclaimerTest extends ActiveMQTestBase {
       setupPosNeg(1, 10, 0, 10, 0);
       setupPosNeg(2, 10, 0, 0, 2);
 
-      reclaimer.scan(files);
+      scan(files);
 
       assertCantDelete(0);
       assertCanDelete(1);
@@ -343,7 +340,7 @@ public class ReclaimerTest extends ActiveMQTestBase {
       setupPosNeg(1, 10, 0, 10, 0);
       setupPosNeg(2, 10, 1, 0, 2);
 
-      reclaimer.scan(files);
+      scan(files);
 
       assertCantDelete(0);
       assertCanDelete(1);
@@ -358,7 +355,7 @@ public class ReclaimerTest extends ActiveMQTestBase {
       setupPosNeg(1, 10, 0, 10, 0);
       setupPosNeg(2, 10, 1, 0, 0);
 
-      reclaimer.scan(files);
+      scan(files);
 
       assertCantDelete(0);
       assertCanDelete(1);
@@ -373,7 +370,7 @@ public class ReclaimerTest extends ActiveMQTestBase {
       setupPosNeg(1, 10, 0, 10, 0);
       setupPosNeg(2, 10, 0, 0, 0);
 
-      reclaimer.scan(files);
+      scan(files);
 
       assertCantDelete(0);
       assertCanDelete(1);
@@ -388,7 +385,7 @@ public class ReclaimerTest extends ActiveMQTestBase {
       setupPosNeg(1, 10, 0, 10, 0);
       setupPosNeg(2, 0, 3, 0, 0);
 
-      reclaimer.scan(files);
+      scan(files);
 
       assertCantDelete(0);
       assertCanDelete(1);
@@ -405,7 +402,7 @@ public class ReclaimerTest extends ActiveMQTestBase {
       setupPosNeg(1, 10, 2, 3, 0);
       setupPosNeg(2, 10, 1, 5, 7);
 
-      reclaimer.scan(files);
+      scan(files);
 
       assertCantDelete(0);
       assertCantDelete(1);
@@ -420,7 +417,7 @@ public class ReclaimerTest extends ActiveMQTestBase {
       setupPosNeg(1, 0, 2, 0, 0);
       setupPosNeg(2, 10, 1, 0, 7);
 
-      reclaimer.scan(files);
+      scan(files);
 
       assertCantDelete(0);
       assertCantDelete(1);
@@ -435,7 +432,7 @@ public class ReclaimerTest extends ActiveMQTestBase {
       setupPosNeg(1, 10, 2, 3, 0);
       setupPosNeg(2, 0, 1, 5, 0);
 
-      reclaimer.scan(files);
+      scan(files);
 
       assertCantDelete(0);
       assertCantDelete(1);
@@ -450,7 +447,7 @@ public class ReclaimerTest extends ActiveMQTestBase {
       setupPosNeg(1, 0, 2, 0, 0);
       setupPosNeg(2, 0, 1, 0, 0);
 
-      reclaimer.scan(files);
+      scan(files);
 
       assertCantDelete(0);
       assertCantDelete(1);
@@ -465,7 +462,7 @@ public class ReclaimerTest extends ActiveMQTestBase {
       setupPosNeg(1, 10, 0, 3, 0);
       setupPosNeg(2, 10, 1, 5, 7);
 
-      reclaimer.scan(files);
+      scan(files);
 
       assertCantDelete(0);
       assertCantDelete(1);
@@ -480,7 +477,7 @@ public class ReclaimerTest extends ActiveMQTestBase {
       setupPosNeg(1, 10, 0, 3, 0);
       setupPosNeg(2, 10, 1, 0, 7);
 
-      reclaimer.scan(files);
+      scan(files);
 
       assertCantDelete(0);
       assertCantDelete(1);
@@ -495,7 +492,7 @@ public class ReclaimerTest extends ActiveMQTestBase {
       setupPosNeg(1, 10, 0, 3, 0);
       setupPosNeg(2, 10, 1, 0, 0);
 
-      reclaimer.scan(files);
+      scan(files);
 
       assertCantDelete(0);
       assertCantDelete(1);
@@ -510,7 +507,7 @@ public class ReclaimerTest extends ActiveMQTestBase {
       setupPosNeg(1, 10, 0, 0, 0);
       setupPosNeg(2, 10, 1, 0, 0);
 
-      reclaimer.scan(files);
+      scan(files);
 
       assertCantDelete(0);
       assertCantDelete(1);
@@ -525,7 +522,7 @@ public class ReclaimerTest extends ActiveMQTestBase {
       setupPosNeg(1, 10, 0, 0, 0);
       setupPosNeg(2, 10, 0, 0, 0);
 
-      reclaimer.scan(files);
+      scan(files);
 
       assertCantDelete(0);
       assertCantDelete(1);
@@ -542,7 +539,7 @@ public class ReclaimerTest extends ActiveMQTestBase {
       setupPosNeg(1, 10, 0, 10, 0);
       setupPosNeg(2, 10, 0, 0, 0);
 
-      reclaimer.scan(files);
+      scan(files);
 
       assertCanDelete(0);
       assertCanDelete(1);
@@ -557,7 +554,7 @@ public class ReclaimerTest extends ActiveMQTestBase {
       setupPosNeg(1, 10, 0, 10, 0);
       setupPosNeg(2, 10, 3, 0, 0);
 
-      reclaimer.scan(files);
+      scan(files);
 
       assertCanDelete(0);
       assertCanDelete(1);
@@ -572,7 +569,7 @@ public class ReclaimerTest extends ActiveMQTestBase {
       setupPosNeg(1, 10, 3, 10, 0);
       setupPosNeg(2, 10, 3, 0, 0);
 
-      reclaimer.scan(files);
+      scan(files);
 
       assertCanDelete(0);
       assertCanDelete(1);
@@ -587,7 +584,7 @@ public class ReclaimerTest extends ActiveMQTestBase {
       setupPosNeg(1, 0, 3, 10, 0);
       setupPosNeg(2, 10, 3, 0, 0);
 
-      reclaimer.scan(files);
+      scan(files);
 
       assertCanDelete(0);
       assertCanDelete(1);
@@ -602,7 +599,7 @@ public class ReclaimerTest extends ActiveMQTestBase {
       setupPosNeg(1, 0, 3, 10, 0);
       setupPosNeg(2, 10, 0, 0, 0);
 
-      reclaimer.scan(files);
+      scan(files);
 
       assertCanDelete(0);
       assertCanDelete(1);
@@ -619,7 +616,7 @@ public class ReclaimerTest extends ActiveMQTestBase {
       setupPosNeg(1, 10, 0, 0, 0);
       setupPosNeg(2, 10, 0, 0, 0);
 
-      reclaimer.scan(files);
+      scan(files);
 
       assertCanDelete(0);
       assertCantDelete(1);
@@ -634,7 +631,7 @@ public class ReclaimerTest extends ActiveMQTestBase {
       setupPosNeg(1, 10, 0, 3, 0);
       setupPosNeg(2, 10, 0, 0, 5);
 
-      reclaimer.scan(files);
+      scan(files);
 
       assertCanDelete(0);
       assertCantDelete(1);
@@ -649,7 +646,7 @@ public class ReclaimerTest extends ActiveMQTestBase {
       setupPosNeg(1, 10, 0, 3, 0);
       setupPosNeg(2, 10, 0, 6, 5);
 
-      reclaimer.scan(files);
+      scan(files);
 
       assertCanDelete(0);
       assertCantDelete(1);
@@ -664,7 +661,7 @@ public class ReclaimerTest extends ActiveMQTestBase {
       setupPosNeg(1, 10, 0, 3, 0);
       setupPosNeg(2, 0, 0, 6, 0);
 
-      reclaimer.scan(files);
+      scan(files);
 
       assertCanDelete(0);
       assertCantDelete(1);

Reply via email to