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 2022/12/13 16:47:35 UTC
[activemq-artemis] branch main updated: NO-JIRA fixing intermittent failure on ActiveMQServerControlTest
This is an automated email from the ASF dual-hosted git repository.
clebertsuconic pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git
The following commit(s) were added to refs/heads/main by this push:
new 4af11a04d3 NO-JIRA fixing intermittent failure on ActiveMQServerControlTest
4af11a04d3 is described below
commit 4af11a04d338ff7b6f3ee4726467bb71690465c2
Author: Clebert Suconic <cl...@apache.org>
AuthorDate: Tue Dec 13 11:35:11 2022 -0500
NO-JIRA fixing intermittent failure on ActiveMQServerControlTest
---
.../management/ActiveMQServerControlTest.java | 36 ++++++++++------------
1 file changed, 17 insertions(+), 19 deletions(-)
diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/ActiveMQServerControlTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/ActiveMQServerControlTest.java
index 9833789d2a..aabde1d2dc 100644
--- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/ActiveMQServerControlTest.java
+++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/ActiveMQServerControlTest.java
@@ -2606,7 +2606,6 @@ public class ActiveMQServerControlTest extends ManagementTestBase {
ServerLocator locator = createInVMNonHALocator();
factories.add(createSessionFactory(locator));
- Thread.sleep(200);
factories.add(createSessionFactory(locator));
addClientSession(factories.get(1).createSession());
@@ -2732,9 +2731,13 @@ public class ActiveMQServerControlTest extends ManagementTestBase {
server.createQueue(new QueueConfiguration(queueName).setRoutingType(RoutingType.ANYCAST).setDurable(false));
}
+ Queue serverQueue = server.locateQueue(queueName);
+
addClientConsumer(session.createConsumer(queueName));
- Thread.sleep(200);
+ Wait.assertEquals(1, serverQueue::getConsumerCount);
+ Thread.sleep(100); // we check timestamps, they need to be different
addClientConsumer(session2.createConsumer(queueName));
+ Wait.assertEquals(2, serverQueue::getConsumerCount);
String jsonString = serverControl.listAllConsumersAsJSON();
logger.debug(jsonString);
@@ -2742,32 +2745,27 @@ public class ActiveMQServerControlTest extends ManagementTestBase {
JsonArray array = JsonUtil.readJsonArray(jsonString);
Assert.assertEquals(usingCore() ? 3 : 2, array.size());
- String key = "creationTime";
JsonObject[] sorted = new JsonObject[array.size()];
for (int i = 0; i < array.size(); i++) {
sorted[i] = array.getJsonObject(i);
}
- if (sorted[0].getJsonNumber(key).longValue() > sorted[1].getJsonNumber(key).longValue()) {
- JsonObject o = sorted[1];
- sorted[1] = sorted[0];
- sorted[0] = o;
- }
- if (usingCore()) {
- if (sorted[1].getJsonNumber(key).longValue() > sorted[2].getJsonNumber(key).longValue()) {
- JsonObject o = sorted[2];
- sorted[2] = sorted[1];
- sorted[1] = o;
+ JsonObject first = null;
+ JsonObject second = null;
+
+ for (JsonObject obj : sorted) {
+
+ if (obj.getString("connectionID").equals(factory.getConnection().getID().toString())) {
+ first = obj;
}
- if (sorted[0].getJsonNumber(key).longValue() > sorted[1].getJsonNumber(key).longValue()) {
- JsonObject o = sorted[1];
- sorted[1] = sorted[0];
- sorted[0] = o;
+
+ if (obj.getString("connectionID").equals(factory2.getConnection().getID().toString())) {
+ second = obj;
}
}
- JsonObject first = sorted[0];
- JsonObject second = sorted[1];
+ Assert.assertNotNull(first);
+ Assert.assertNotNull(second);
Assert.assertTrue(first.getJsonNumber("creationTime").longValue() > 0);
Assert.assertNotNull(first.getJsonNumber("consumerID").longValue());