You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by cl...@apache.org on 2018/05/08 02:29:35 UTC

activemq-artemis git commit: NO-JIRA Fixing ReplicatedFailoverTest testFailBack

Repository: activemq-artemis
Updated Branches:
  refs/heads/master 93a868c11 -> 50e170b7e


NO-JIRA Fixing ReplicatedFailoverTest testFailBack


Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/50e170b7
Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/50e170b7
Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/50e170b7

Branch: refs/heads/master
Commit: 50e170b7ecbc540d81b97ea51fb8721c901da180
Parents: 93a868c
Author: Clebert Suconic <cl...@apache.org>
Authored: Mon May 7 17:21:17 2018 -0400
Committer: Clebert Suconic <cl...@apache.org>
Committed: Mon May 7 20:03:29 2018 -0400

----------------------------------------------------------------------
 .../artemis/tests/util/ActiveMQTestBase.java    |  4 ++-
 .../failover/ReplicatedFailoverTest.java        | 35 +++++++++++++++-----
 2 files changed, 30 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/50e170b7/artemis-server/src/test/java/org/apache/activemq/artemis/tests/util/ActiveMQTestBase.java
----------------------------------------------------------------------
diff --git a/artemis-server/src/test/java/org/apache/activemq/artemis/tests/util/ActiveMQTestBase.java b/artemis-server/src/test/java/org/apache/activemq/artemis/tests/util/ActiveMQTestBase.java
index ce6dba1..673e023 100644
--- a/artemis-server/src/test/java/org/apache/activemq/artemis/tests/util/ActiveMQTestBase.java
+++ b/artemis-server/src/test/java/org/apache/activemq/artemis/tests/util/ActiveMQTestBase.java
@@ -1356,10 +1356,12 @@ public abstract class ActiveMQTestBase extends Assert {
             break;
          }
          if (System.currentTimeMillis() > (time + toWait)) {
+            String threadDump = threadDump("can't get synchronization finished " + backup.isReplicaSync());
+            System.err.println(threadDump);
             fail("backup started? (" + actualServer.isStarted() + "). Finished synchronizing (" +
                     (activation) + "). SessionFactory!=null ? " + (sessionFactory != null) +
                     " || sessionFactory.getBackupConnector()==" +
-                    (sessionFactory != null ? sessionFactory.getBackupConnector() : "not-applicable"));
+                    (sessionFactory != null ? sessionFactory.getBackupConnector() : "not-applicable") + "\n" + threadDump);
          }
          try {
             Thread.sleep(100);

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/50e170b7/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/ReplicatedFailoverTest.java
----------------------------------------------------------------------
diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/ReplicatedFailoverTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/ReplicatedFailoverTest.java
index 814eb8b..01a3ba6 100644
--- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/ReplicatedFailoverTest.java
+++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/ReplicatedFailoverTest.java
@@ -29,10 +29,12 @@ import org.apache.activemq.artemis.api.core.client.ClientSession;
 import org.apache.activemq.artemis.component.WebServerComponent;
 import org.apache.activemq.artemis.core.config.ha.ReplicaPolicyConfiguration;
 import org.apache.activemq.artemis.core.config.ha.ReplicatedPolicyConfiguration;
+import org.apache.activemq.artemis.core.server.ActiveMQServer;
 import org.apache.activemq.artemis.core.server.ServiceComponent;
 import org.apache.activemq.artemis.core.server.cluster.ha.ReplicatedPolicy;
 import org.apache.activemq.artemis.dto.AppDTO;
 import org.apache.activemq.artemis.dto.WebServerDTO;
+import org.apache.activemq.artemis.junit.Wait;
 import org.junit.Assert;
 import org.junit.Rule;
 import org.junit.Test;
@@ -47,14 +49,30 @@ public class ReplicatedFailoverTest extends FailoverTest {
    public TestRule watcher = new TestWatcher() {
       @Override
       protected void starting(Description description) {
-         isReplicatedFailbackTest = description.getMethodName().equals("testReplicatedFailback");
+         isReplicatedFailbackTest = description.getMethodName().equals("testReplicatedFailback") || description.getMethodName().equals("testLoop");
       }
 
    };
 
+
+   /* @Test
+   public void testLoop() throws Throwable {
+
+      for (int i = 0; i < 100; i++) {
+         System.err.println("#Test " + i);
+         testReplicatedFailback();
+         tearDown();
+         setUp();
+      }
+   } */
+
    protected void beforeWaitForRemoteBackupSynchronization() {
    }
 
+   private void waitForSync(ActiveMQServer server) throws Exception {
+      Wait.waitFor(server::isReplicaSync);
+   }
+
    @Test(timeout = 120000)
    /*
    * default maxSavedReplicatedJournalsSize is 2, this means the backup will fall back to replicated only twice, after this
@@ -64,7 +82,7 @@ public class ReplicatedFailoverTest extends FailoverTest {
       try {
          beforeWaitForRemoteBackupSynchronization();
 
-         waitForRemoteBackupSynchronization(backupServer.getServer());
+         waitForSync(backupServer.getServer());
 
          createSessionFactory();
 
@@ -80,9 +98,9 @@ public class ReplicatedFailoverTest extends FailoverTest {
 
          liveServer.start();
 
-         waitForRemoteBackupSynchronization(liveServer.getServer());
+         waitForSync(liveServer.getServer());
 
-         waitForRemoteBackupSynchronization(backupServer.getServer());
+         waitForSync(backupServer.getServer());
 
          waitForServerToStart(liveServer.getServer());
 
@@ -96,9 +114,9 @@ public class ReplicatedFailoverTest extends FailoverTest {
 
          liveServer.start();
 
-         waitForRemoteBackupSynchronization(liveServer.getServer());
+         waitForSync(liveServer.getServer());
 
-         waitForRemoteBackupSynchronization(backupServer.getServer());
+         waitForSync(backupServer.getServer());
 
          waitForServerToStart(liveServer.getServer());
 
@@ -112,11 +130,11 @@ public class ReplicatedFailoverTest extends FailoverTest {
 
          liveServer.start();
 
-         waitForServerToStart(liveServer.getServer());
+         waitForSync(liveServer.getServer());
 
          backupServer.getServer().waitForActivation(5, TimeUnit.SECONDS);
 
-         waitForRemoteBackupSynchronization(liveServer.getServer());
+         waitForSync(liveServer.getServer());
 
          waitForServerToStart(backupServer.getServer());
 
@@ -180,6 +198,7 @@ public class ReplicatedFailoverTest extends FailoverTest {
       }
 
    }
+
    @Override
    protected void createConfigs() throws Exception {
       createReplicatedConfigs();