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());