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
commit 91a4ef4c20079b95923e5ad0efac7f604afad26a Author: Clebert Suconic <[email protected]> AuthorDate: Fri Apr 17 18:23:27 2020 -0400 ARTEMIS-2722 Separate tests for FileLockNodeManager from FailoverTest --- .../integration/cluster/failover/FailoverTest.java | 16 +++++------ ...loverTest.java => FileLockNodeManagerTest.java} | 33 ++++++++++++++++++---- .../cluster/failover/NettyFailoverTest.java | 25 ++++------------ 3 files changed, 41 insertions(+), 33 deletions(-) diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/FailoverTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/FailoverTest.java index 0944620..dec6399 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/FailoverTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/FailoverTest.java @@ -112,7 +112,7 @@ public class FailoverTest extends FailoverTestBase { // https://issues.jboss.org/browse/HORNETQ-685 @Test(timeout = 120000) public void testTimeoutOnFailover() throws Exception { - locator.setCallTimeout(1000).setBlockOnNonDurableSend(true).setBlockOnDurableSend(true).setAckBatchSize(0).setReconnectAttempts(300).setRetryInterval(100); + locator.setCallTimeout(1000).setBlockOnNonDurableSend(true).setBlockOnDurableSend(true).setAckBatchSize(0).setReconnectAttempts(300).setRetryInterval(10); if (nodeManager instanceof InVMNodeManager) { ((InVMNodeManager) nodeManager).failoverPause = 500L; @@ -249,10 +249,10 @@ public class FailoverTest extends FailoverTestBase { @Test(timeout = 120000) public void testTimeoutOnFailoverConsumeBlocked() throws Exception { - locator.setCallTimeout(1000).setBlockOnNonDurableSend(true).setConsumerWindowSize(0).setBlockOnDurableSend(true).setAckBatchSize(0).setBlockOnAcknowledge(true).setReconnectAttempts(-1).setAckBatchSize(0); + locator.setCallTimeout(1000).setBlockOnNonDurableSend(true).setConsumerWindowSize(0).setBlockOnDurableSend(true).setAckBatchSize(0).setBlockOnAcknowledge(true).setReconnectAttempts(-1).setAckBatchSize(0).setRetryInterval(10); if (nodeManager instanceof InVMNodeManager) { - ((InVMNodeManager) nodeManager).failoverPause = 2000L; + ((InVMNodeManager) nodeManager).failoverPause = 200L; } ClientSessionFactoryInternal sf1 = (ClientSessionFactoryInternal) createSessionFactory(locator); @@ -344,7 +344,7 @@ public class FailoverTest extends FailoverTestBase { // https://issues.jboss.org/browse/HORNETQ-685 @Test(timeout = 120000) public void testTimeoutOnFailoverTransactionCommit() throws Exception { - locator.setCallTimeout(1000).setBlockOnNonDurableSend(true).setBlockOnDurableSend(true).setAckBatchSize(0).setReconnectAttempts(300).setRetryInterval(100); + locator.setCallTimeout(1000).setBlockOnNonDurableSend(true).setBlockOnDurableSend(true).setAckBatchSize(0).setReconnectAttempts(300).setRetryInterval(10); if (nodeManager instanceof InVMNodeManager) { ((InVMNodeManager) nodeManager).failoverPause = 2000L; @@ -413,7 +413,7 @@ public class FailoverTest extends FailoverTestBase { */ @Test(timeout = 120000) public void testTimeoutOnFailoverTransactionCommitTimeoutCommunication() throws Exception { - locator.setCallTimeout(1000).setBlockOnNonDurableSend(true).setBlockOnDurableSend(true).setAckBatchSize(0).setReconnectAttempts(300).setRetryInterval(500); + locator.setCallTimeout(1000).setBlockOnNonDurableSend(true).setBlockOnDurableSend(true).setAckBatchSize(0).setReconnectAttempts(300).setRetryInterval(50); if (nodeManager instanceof InVMNodeManager) { ((InVMNodeManager) nodeManager).failoverPause = 2000L; @@ -491,7 +491,7 @@ public class FailoverTest extends FailoverTestBase { // https://issues.jboss.org/browse/HORNETQ-685 @Test(timeout = 120000) public void testTimeoutOnFailoverTransactionRollback() throws Exception { - locator.setCallTimeout(2000).setBlockOnNonDurableSend(true).setBlockOnDurableSend(true).setAckBatchSize(0).setReconnectAttempts(300).setRetryInterval(100); + locator.setCallTimeout(2000).setBlockOnNonDurableSend(true).setBlockOnDurableSend(true).setAckBatchSize(0).setReconnectAttempts(300).setRetryInterval(10); if (nodeManager instanceof InVMNodeManager) { ((InVMNodeManager) nodeManager).failoverPause = 1000L; @@ -546,7 +546,7 @@ public class FailoverTest extends FailoverTestBase { */ @Test(timeout = 120000) public void testNonTransactedWithZeroConsumerWindowSize() throws Exception { - locator.setBlockOnNonDurableSend(true).setBlockOnDurableSend(true).setAckBatchSize(0).setReconnectAttempts(300).setRetryInterval(100); + locator.setBlockOnNonDurableSend(true).setBlockOnDurableSend(true).setAckBatchSize(0).setReconnectAttempts(300).setRetryInterval(10); createClientSessionFactory(); @@ -661,7 +661,7 @@ public class FailoverTest extends FailoverTestBase { Assert.assertEquals(0, sf.numConnections()); } - @Test(timeout = 10000) + @Test public void testFailLiveTooSoon() throws Exception { ServerLocator locator = getServerLocator(); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/NettyFailoverTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/FileLockNodeManagerTest.java similarity index 85% copy from tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/NettyFailoverTest.java copy to tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/FileLockNodeManagerTest.java index 0173f9d..3019381 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/NettyFailoverTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/FileLockNodeManagerTest.java @@ -32,6 +32,7 @@ import org.apache.activemq.artemis.api.core.client.ActiveMQClient; import org.apache.activemq.artemis.api.core.client.ClientConsumer; import org.apache.activemq.artemis.api.core.client.ClientProducer; import org.apache.activemq.artemis.api.core.client.ClientSession; +import org.apache.activemq.artemis.api.core.client.ClientSessionFactory; import org.apache.activemq.artemis.api.core.client.ServerLocator; import org.apache.activemq.artemis.core.client.impl.ClientSessionFactoryInternal; import org.apache.activemq.artemis.core.config.Configuration; @@ -57,17 +58,39 @@ import org.junit.runner.RunWith; import org.junit.runners.Parameterized; @RunWith(Parameterized.class) -public class NettyFailoverTest extends FailoverTest { +public class FileLockNodeManagerTest extends FailoverTestBase { public enum NodeManagerType { InVM, Jdbc, File } + protected ClientSession createSession(ClientSessionFactory sf1, + boolean autoCommitSends, + boolean autoCommitAcks, + int ackBatchSize) throws Exception { + return addClientSession(sf1.createSession(autoCommitSends, autoCommitAcks, ackBatchSize)); + } + + protected ClientSession createSession(ClientSessionFactory sf1, + boolean autoCommitSends, + boolean autoCommitAcks) throws Exception { + return addClientSession(sf1.createSession(autoCommitSends, autoCommitAcks)); + } + + protected ClientSession createSession(ClientSessionFactory sf1) throws Exception { + return addClientSession(sf1.createSession()); + } + + protected ClientSession createSession(ClientSessionFactory sf1, + boolean xa, + boolean autoCommitSends, + boolean autoCommitAcks) throws Exception { + return addClientSession(sf1.createSession(xa, autoCommitSends, autoCommitAcks)); + } + @Parameterized.Parameters(name = "{0} Node Manager, Use Separate Lock Folder = {1}") public static Iterable<? extends Object> nodeManagerTypes() { return Arrays.asList(new Object[][]{ - {NodeManagerType.Jdbc, false}, - {NodeManagerType.InVM, false}, {NodeManagerType.File, false}, {NodeManagerType.File, true}}); } @@ -165,12 +188,12 @@ public class NettyFailoverTest extends FailoverTest { } @Test(timeout = 120000) - public void testFailoverWithHostAlias() throws Exception { + public void testSimpleFailover() throws Exception { Map<String, Object> params = new HashMap<>(); params.put(TransportConstants.HOST_PROP_NAME, "127.0.0.1"); TransportConfiguration tc = createTransportConfiguration(true, false, params); - ServerLocator locator = addServerLocator(ActiveMQClient.createServerLocatorWithHA(tc)).setBlockOnNonDurableSend(true).setBlockOnDurableSend(true).setBlockOnAcknowledge(true).setReconnectAttempts(15); + ServerLocator locator = addServerLocator(ActiveMQClient.createServerLocatorWithHA(tc)).setBlockOnNonDurableSend(true).setBlockOnDurableSend(true).setBlockOnAcknowledge(true).setReconnectAttempts(150).setRetryInterval(10); ClientSessionFactoryInternal sf = createSessionFactoryAndWaitForTopology(locator, 2); diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/NettyFailoverTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/NettyFailoverTest.java index 0173f9d..d32e46a 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/NettyFailoverTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/failover/NettyFailoverTest.java @@ -40,7 +40,6 @@ import org.apache.activemq.artemis.core.config.ha.SharedStoreSlavePolicyConfigur import org.apache.activemq.artemis.core.config.storage.DatabaseStorageConfiguration; import org.apache.activemq.artemis.core.remoting.impl.netty.TransportConstants; import org.apache.activemq.artemis.core.server.NodeManager; -import org.apache.activemq.artemis.core.server.impl.FileLockNodeManager; import org.apache.activemq.artemis.core.server.impl.InVMNodeManager; import org.apache.activemq.artemis.core.server.impl.jdbc.JdbcNodeManager; import org.apache.activemq.artemis.tests.integration.cluster.util.SameProcessActiveMQServer; @@ -60,22 +59,18 @@ import org.junit.runners.Parameterized; public class NettyFailoverTest extends FailoverTest { public enum NodeManagerType { - InVM, Jdbc, File + InVM, Jdbc } - @Parameterized.Parameters(name = "{0} Node Manager, Use Separate Lock Folder = {1}") + @Parameterized.Parameters(name = "{0} Node Manager") public static Iterable<? extends Object> nodeManagerTypes() { return Arrays.asList(new Object[][]{ - {NodeManagerType.Jdbc, false}, - {NodeManagerType.InVM, false}, - {NodeManagerType.File, false}, - {NodeManagerType.File, true}}); + {NodeManagerType.Jdbc}, + {NodeManagerType.InVM}}); } @Parameterized.Parameter(0) public NodeManagerType nodeManagerType; - @Parameterized.Parameter(1) - public boolean useSeparateLockFolder; @Override protected TransportConfiguration getAcceptorTransportConfiguration(final boolean live) { @@ -99,9 +94,6 @@ public class NettyFailoverTest extends FailoverTest { @Override protected Configuration createDefaultInVMConfig() throws Exception { final Configuration config = super.createDefaultInVMConfig(); - if (useSeparateLockFolder) { - config.setNodeManagerLockDirectory(getTestDir() + "/nm_lock"); - } return config; } @@ -128,13 +120,6 @@ public class NettyFailoverTest extends FailoverTest { code.printStackTrace(); Assert.fail(message); }); - case File: - final Configuration config = createDefaultInVMConfig(); - if (useSeparateLockFolder) { - config.getNodeManagerLockLocation().mkdirs(); - } - return new FileLockNodeManager(config.getNodeManagerLockLocation(), false); - default: throw new AssertionError("enum type not supported!"); } @@ -146,7 +131,7 @@ public class NettyFailoverTest extends FailoverTest { final boolean isBackup = config.getHAPolicyConfiguration() instanceof ReplicaPolicyConfiguration || config.getHAPolicyConfiguration() instanceof SharedStoreSlavePolicyConfiguration; NodeManager nodeManager = this.nodeManager; //create a separate NodeManager for the backup - if (isBackup && (nodeManagerType == NodeManagerType.Jdbc || nodeManagerType == NodeManagerType.File)) { + if (isBackup && (nodeManagerType == NodeManagerType.Jdbc)) { nodeManager = createNodeManager(); } return new SameProcessActiveMQServer(createInVMFailoverServer(true, config, nodeManager, isBackup ? 2 : 1));
