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 e3670b6 NO-JIRA Improving SoakPagingTest
e3670b6 is described below
commit e3670b64e546f443bf6249eea86b40fef6aae551
Author: Clebert Suconic <[email protected]>
AuthorDate: Mon Dec 21 12:59:40 2020 -0500
NO-JIRA Improving SoakPagingTest
---
scripts/one-test.sh | 2 +-
.../smoke/replicationflow/SoakPagingTest.java | 54 ++++++++++++++--------
2 files changed, 36 insertions(+), 20 deletions(-)
diff --git a/scripts/one-test.sh b/scripts/one-test.sh
index 8cd7b21..583cd62 100755
--- a/scripts/one-test.sh
+++ b/scripts/one-test.sh
@@ -16,4 +16,4 @@
# specific language governing permissions and limitations
# under the License.
-mvn -Ptests -DfailIfNoTests=false -Pextra-tests -DskipStyleCheck=true
-DskipPerformanceTests=false -Dtest=$1 test
+mvn -Ptests -DfailIfNoTests=false -Ptests-retry -Ptests-CI -Pextra-tests
-DskipStyleCheck=true -DskipPerformanceTests=false -Dtest=$1 test
diff --git
a/tests/smoke-tests/src/test/java/org/apache/activemq/artemis/tests/smoke/replicationflow/SoakPagingTest.java
b/tests/smoke-tests/src/test/java/org/apache/activemq/artemis/tests/smoke/replicationflow/SoakPagingTest.java
index 30b21ca..99761b5 100644
---
a/tests/smoke-tests/src/test/java/org/apache/activemq/artemis/tests/smoke/replicationflow/SoakPagingTest.java
+++
b/tests/smoke-tests/src/test/java/org/apache/activemq/artemis/tests/smoke/replicationflow/SoakPagingTest.java
@@ -52,12 +52,13 @@ import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
import org.apache.activemq.artemis.tests.smoke.common.SmokeTestBase;
-import org.apache.activemq.artemis.utils.RetryRule;
+import org.apache.activemq.artemis.utils.ExecuteUtil;
import org.apache.activemq.artemis.utils.SpawnedVMSupport;
import org.apache.qpid.jms.JmsConnectionFactory;
import org.fusesource.mqtt.client.BlockingConnection;
import org.fusesource.mqtt.client.MQTT;
import org.fusesource.mqtt.client.QoS;
+import org.jboss.logging.Logger;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Rule;
@@ -68,8 +69,7 @@ import org.junit.runners.Parameterized;
@RunWith(Parameterized.class)
public class SoakPagingTest extends SmokeTestBase {
- @Rule
- public RetryRule retryRule = new RetryRule(1);
+ private static final Logger log = Logger.getLogger(SoakPagingTest.class);
public static final int LAG_CONSUMER_TIME = 1000;
public static final int TIME_RUNNING = 4000;
@@ -125,13 +125,7 @@ public class SoakPagingTest extends SmokeTestBase {
} else if (protocol.toUpperCase().equals("MQTT")) {
return new MQTTCF();
} else if (protocol.toUpperCase().equals("AMQP")) {
-
- if (uri.startsWith("tcp://")) {
- // replacing tcp:// by amqp://
- uri = "amqp" + uri.substring(3);
-
- }
- return new JmsConnectionFactory(uri);
+ return new
JmsConnectionFactory("failover:(amqp://localhost:61616,amqp://localhost:61617)?failover.maxReconnectAttempts=16&jms.prefetchPolicy.all=5&jms.forceSyncSend=true");
} else if (protocol.toUpperCase().equals("CORE") ||
protocol.toUpperCase().equals("ARTEMIS")) {
return new
org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory(uri);
} else {
@@ -187,23 +181,23 @@ public class SoakPagingTest extends SmokeTestBase {
t.start();
}
- System.out.println("Awaiting producers...");
+ log.debug("Awaiting producers...");
if (!producersLatch.await(30000, TimeUnit.MILLISECONDS)) {
System.err.println("Awaiting producers timeout");
System.exit(0);
}
- System.out.println("Awaiting consumers...");
+ log.debug("Awaiting consumers...");
if (!consumersLatch.await(30000, TimeUnit.MILLISECONDS)) {
System.err.println("Awaiting consumers timeout");
System.exit(0);
}
- System.out.println("Awaiting timeout...");
+ log.debug("Awaiting timeout...");
Thread.sleep(time);
int exitStatus = consumed.get() > 0 ? 1 : 0;
- System.out.println("Exiting with the status: " + exitStatus);
+ log.debug("Exiting with the status: " + exitStatus);
System.exit(exitStatus);
} catch (Throwable t) {
System.err.println("Exiting with the status 0. Reason: " + t);
@@ -222,10 +216,32 @@ public class SoakPagingTest extends SmokeTestBase {
Process process =
SpawnedVMSupport.spawnVM(SoakPagingTest.class.getName(), protocol,
consumerType, "" + TIME_RUNNING, "" + transaction);
int result = process.waitFor();
+ if (result <= 0) {
+ jstack();
+ }
Assert.assertTrue(result > 0);
}
}
+ protected void jstack() throws Exception {
+ try {
+
System.out.println("*******************************************************************************************************************************");
+ System.out.println("SERVER 0 jstack");
+
System.out.println("*******************************************************************************************************************************");
+ ExecuteUtil.runCommand(true, 1, TimeUnit.MINUTES, "jstack", "" +
ExecuteUtil.getPID(server0));
+ } catch (Throwable e) {
+ log.warn("Error executing jstack on Server 0", e);
+ }
+ try {
+
System.out.println("*******************************************************************************************************************************");
+ System.out.println("SERVER 1 jstack");
+
System.out.println("*******************************************************************************************************************************");
+ ExecuteUtil.runCommand(true, 1, TimeUnit.MINUTES, "jstack", "" +
ExecuteUtil.getPID(server1));
+ } catch (Throwable e) {
+ log.warn("Error executing jstack on Server 1", e);
+ }
+ }
+
public void produce(ConnectionFactory factory, int index, CountDownLatch
latch) {
try {
@@ -238,7 +254,7 @@ public class SoakPagingTest extends SmokeTestBase {
latch.countDown();
connection.start();
- System.out.println("Producer" + index + " started");
+ log.debug("Producer" + index + " started");
final Session session;
@@ -272,7 +288,7 @@ public class SoakPagingTest extends SmokeTestBase {
produced.incrementAndGet();
i++;
if (i % 100 == 0) {
- System.out.println("Producer" + index + " published " + i + "
messages");
+ log.debug("Producer" + index + " published " + i + " messages");
if (transaction) {
session.commit();
}
@@ -317,17 +333,17 @@ public class SoakPagingTest extends SmokeTestBase {
latch.countDown();
connection.start();
- System.out.println("Consumer" + index + " started");
+ log.debug("Consumer" + index + " started");
int i = 0;
while (true) {
Message m = messageConsumer.receive(1000);
consumed.incrementAndGet();
if (m == null)
- System.out.println("Consumer" + index + "received null");
+ log.debug("Consumer" + index + "received null");
i++;
if (i % 100 == 0) {
- System.out.println("Consumer" + index + "received " + i + "
messages");
+ log.debug("Consumer" + index + "received " + i + " messages");
if (transaction) {
session.commit();
}