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/10/11 19:08:11 UTC
[3/9] activemq-artemis git commit: NO-JIRA - fixing up some broken
tests
NO-JIRA - fixing up some broken tests
Some tests were added to a class that was extended, Ive moved these into their own class
(cherry picked from commit a1896c4c5344a77efc313dd6899147541a28765e)
Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/8e1c2163
Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/8e1c2163
Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/8e1c2163
Branch: refs/heads/2.6.x
Commit: 8e1c2163692cbbbb5d7f25636bb5ffd27d521fc2
Parents: 6b894a5
Author: andytaylor <an...@gmail.com>
Authored: Wed Oct 10 11:00:10 2018 +0100
Committer: Clebert Suconic <cl...@apache.org>
Committed: Thu Oct 11 15:01:32 2018 -0400
----------------------------------------------------------------------
.../ExtraBackupReplicatedFailoverTest.java | 115 +++++++++++++++++++
.../failover/ReplicatedFailoverTest.java | 54 ---------
...dMultipleServerFailoverExtraBackupsTest.java | 2 +
3 files changed, 117 insertions(+), 54 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/8e1c2163/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/ExtraBackupReplicatedFailoverTest.java
----------------------------------------------------------------------
diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/ExtraBackupReplicatedFailoverTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/ExtraBackupReplicatedFailoverTest.java
new file mode 100644
index 0000000..77cdf82
--- /dev/null
+++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/ExtraBackupReplicatedFailoverTest.java
@@ -0,0 +1,115 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.activemq.artemis.tests.integration.cluster.failover;
+
+import org.apache.activemq.artemis.api.core.TransportConfiguration;
+import org.apache.activemq.artemis.core.config.Configuration;
+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.junit.Wait;
+import org.apache.activemq.artemis.tests.integration.cluster.util.TestableServer;
+import org.apache.activemq.artemis.tests.util.TransportConfigurationUtils;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.TestRule;
+import org.junit.rules.TestWatcher;
+import org.junit.runner.Description;
+
+public class ExtraBackupReplicatedFailoverTest extends FailoverTestBase {
+
+ boolean isExtraBackupGroupNameReplicates = false;
+
+ @Rule
+ public TestRule watcher = new TestWatcher() {
+ @Override
+ protected void starting(Description description) {
+ isExtraBackupGroupNameReplicates = description.getMethodName().equals("testExtraBackupGroupNameReplicates");
+ }
+
+ };
+
+ @Test
+ public void testExtraBackupReplicates() throws Exception {
+ Configuration secondBackupConfig = backupConfig.copy();
+ TransportConfiguration tc = secondBackupConfig.getAcceptorConfigurations().iterator().next();
+ TestableServer secondBackupServer = createTestableServer(secondBackupConfig);
+ tc.getParams().put("serverId", "2");
+ secondBackupConfig.setBindingsDirectory(getBindingsDir(1, true)).setJournalDirectory(getJournalDir(1, true)).setPagingDirectory(getPageDir(1, true)).setLargeMessagesDirectory(getLargeMessagesDir(1, true)).setSecurityEnabled(false);
+
+ waitForRemoteBackupSynchronization(backupServer.getServer());
+
+ secondBackupServer.start();
+ Thread.sleep(5000);
+ backupServer.stop();
+ waitForSync(secondBackupServer.getServer());
+ waitForRemoteBackupSynchronization(secondBackupServer.getServer());
+
+ }
+
+ @Test
+ public void testExtraBackupGroupNameReplicates() throws Exception {
+ ReplicaPolicyConfiguration backupReplicaPolicyConfiguration = (ReplicaPolicyConfiguration) backupServer.getServer().getConfiguration().getHAPolicyConfiguration();
+ backupReplicaPolicyConfiguration.setGroupName("foo");
+
+ ReplicatedPolicyConfiguration replicatedPolicyConfiguration = (ReplicatedPolicyConfiguration) liveServer.getServer().getConfiguration().getHAPolicyConfiguration();
+ replicatedPolicyConfiguration.setGroupName("foo");
+
+ Configuration secondBackupConfig = backupConfig.copy();
+ TransportConfiguration tc = secondBackupConfig.getAcceptorConfigurations().iterator().next();
+ TestableServer secondBackupServer = createTestableServer(secondBackupConfig);
+ tc.getParams().put("serverId", "2");
+ secondBackupConfig.setBindingsDirectory(getBindingsDir(1, true)).setJournalDirectory(getJournalDir(1, true)).setPagingDirectory(getPageDir(1, true)).setLargeMessagesDirectory(getLargeMessagesDir(1, true)).setSecurityEnabled(false);
+ ReplicaPolicyConfiguration replicaPolicyConfiguration = (ReplicaPolicyConfiguration) secondBackupConfig.getHAPolicyConfiguration();
+ replicaPolicyConfiguration.setGroupName("foo");
+ waitForRemoteBackupSynchronization(backupServer.getServer());
+
+ secondBackupServer.start();
+ Thread.sleep(5000);
+ backupServer.stop();
+ waitForSync(secondBackupServer.getServer());
+ waitForRemoteBackupSynchronization(secondBackupServer.getServer());
+ }
+
+ @Override
+ protected void createConfigs() throws Exception {
+ createReplicatedConfigs();
+ }
+
+ @Override
+ protected void setupHAPolicyConfiguration() {
+ if (isExtraBackupGroupNameReplicates) {
+ ((ReplicatedPolicyConfiguration) liveConfig.getHAPolicyConfiguration()).setGroupName("foo");
+ ((ReplicaPolicyConfiguration) backupConfig.getHAPolicyConfiguration()).setGroupName("foo");
+
+ }
+ }
+
+ @Override
+ protected TransportConfiguration getAcceptorTransportConfiguration(final boolean live) {
+ return TransportConfigurationUtils.getInVMAcceptor(live);
+ }
+
+ @Override
+ protected TransportConfiguration getConnectorTransportConfiguration(final boolean live) {
+ return TransportConfigurationUtils.getInVMConnector(live);
+ }
+
+ private void waitForSync(ActiveMQServer server) throws Exception {
+ Wait.waitFor(server::isReplicaSync);
+ }
+}
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/8e1c2163/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 c6ee8b4..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
@@ -25,10 +25,8 @@ import java.util.concurrent.TimeUnit;
import com.sun.net.httpserver.HttpExchange;
import com.sun.net.httpserver.HttpHandler;
import com.sun.net.httpserver.HttpServer;
-import org.apache.activemq.artemis.api.core.TransportConfiguration;
import org.apache.activemq.artemis.api.core.client.ClientSession;
import org.apache.activemq.artemis.component.WebServerComponent;
-import org.apache.activemq.artemis.core.config.Configuration;
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;
@@ -37,7 +35,6 @@ 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.apache.activemq.artemis.tests.integration.cluster.util.TestableServer;
import org.junit.Assert;
import org.junit.Rule;
import org.junit.Test;
@@ -48,13 +45,11 @@ import org.junit.runner.Description;
public class ReplicatedFailoverTest extends FailoverTest {
boolean isReplicatedFailbackTest = false;
- boolean isExtraBackupGroupNameReplicates = false;
@Rule
public TestRule watcher = new TestWatcher() {
@Override
protected void starting(Description description) {
isReplicatedFailbackTest = description.getMethodName().equals("testReplicatedFailback") || description.getMethodName().equals("testLoop");
- isExtraBackupGroupNameReplicates = description.getMethodName().equals("testExtraBackupGroupNameReplicates");
}
};
@@ -78,49 +73,6 @@ public class ReplicatedFailoverTest extends FailoverTest {
Wait.waitFor(server::isReplicaSync);
}
- @Test
- public void testExtraBackupReplicates() throws Exception {
- Configuration secondBackupConfig = backupConfig.copy();
- TransportConfiguration tc = secondBackupConfig.getAcceptorConfigurations().iterator().next();
- TestableServer secondBackupServer = createTestableServer(secondBackupConfig);
- tc.getParams().put("serverId", "2");
- secondBackupConfig.setBindingsDirectory(getBindingsDir(1, true)).setJournalDirectory(getJournalDir(1, true)).setPagingDirectory(getPageDir(1, true)).setLargeMessagesDirectory(getLargeMessagesDir(1, true)).setSecurityEnabled(false);
-
- waitForRemoteBackupSynchronization(backupServer.getServer());
-
- secondBackupServer.start();
- Thread.sleep(5000);
- backupServer.stop();
- waitForSync(secondBackupServer.getServer());
- waitForRemoteBackupSynchronization(secondBackupServer.getServer());
-
- }
-
- @Test
- public void testExtraBackupGroupNameReplicates() throws Exception {
- ReplicaPolicyConfiguration backupReplicaPolicyConfiguration = (ReplicaPolicyConfiguration) backupServer.getServer().getConfiguration().getHAPolicyConfiguration();
- backupReplicaPolicyConfiguration.setGroupName("foo");
-
- ReplicatedPolicyConfiguration replicatedPolicyConfiguration = (ReplicatedPolicyConfiguration) liveServer.getServer().getConfiguration().getHAPolicyConfiguration();
- replicatedPolicyConfiguration.setGroupName("foo");
-
- Configuration secondBackupConfig = backupConfig.copy();
- TransportConfiguration tc = secondBackupConfig.getAcceptorConfigurations().iterator().next();
- TestableServer secondBackupServer = createTestableServer(secondBackupConfig);
- tc.getParams().put("serverId", "2");
- secondBackupConfig.setBindingsDirectory(getBindingsDir(1, true)).setJournalDirectory(getJournalDir(1, true)).setPagingDirectory(getPageDir(1, true)).setLargeMessagesDirectory(getLargeMessagesDir(1, true)).setSecurityEnabled(false);
- ReplicaPolicyConfiguration replicaPolicyConfiguration = (ReplicaPolicyConfiguration) secondBackupConfig.getHAPolicyConfiguration();
- replicaPolicyConfiguration.setGroupName("foo");
- waitForRemoteBackupSynchronization(backupServer.getServer());
-
- secondBackupServer.start();
- Thread.sleep(5000);
- backupServer.stop();
- waitForSync(secondBackupServer.getServer());
- waitForRemoteBackupSynchronization(secondBackupServer.getServer());
-
- }
-
@Test(timeout = 120000)
/*
* default maxSavedReplicatedJournalsSize is 2, this means the backup will fall back to replicated only twice, after this
@@ -261,12 +213,6 @@ public class ReplicatedFailoverTest extends FailoverTest {
} else {
super.setupHAPolicyConfiguration();
}
-
- if (isExtraBackupGroupNameReplicates) {
- ((ReplicatedPolicyConfiguration) liveConfig.getHAPolicyConfiguration()).setGroupName("foo");
- ((ReplicaPolicyConfiguration) backupConfig.getHAPolicyConfiguration()).setGroupName("foo");
-
- }
}
@Override
http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/8e1c2163/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/ReplicatedMultipleServerFailoverExtraBackupsTest.java
----------------------------------------------------------------------
diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/ReplicatedMultipleServerFailoverExtraBackupsTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/ReplicatedMultipleServerFailoverExtraBackupsTest.java
index 1a1d75c..2ce4cad 100644
--- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/ReplicatedMultipleServerFailoverExtraBackupsTest.java
+++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/ReplicatedMultipleServerFailoverExtraBackupsTest.java
@@ -128,6 +128,8 @@ public class ReplicatedMultipleServerFailoverExtraBackupsTest extends Replicated
for (TestableServer testableServer : toCrash) {
testableServer.crash().await(10, TimeUnit.SECONDS);
+ //if we dont stop the server it tries to replicate again and the test becomes non deterministic
+ testableServer.stop();
}
Assert.assertTrue(failoverHappened.await(10, TimeUnit.SECONDS));