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/03/09 20:59:56 UTC

activemq-artemis git commit: NO-JIRA Fixing intermittent failure on listSession methods

Repository: activemq-artemis
Updated Branches:
  refs/heads/master 41a3fedb8 -> 91043f815


NO-JIRA Fixing intermittent failure on listSession methods


Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/91043f81
Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/91043f81
Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/91043f81

Branch: refs/heads/master
Commit: 91043f8153afe80b0951b590dbc0ca6da5323a03
Parents: 41a3fed
Author: Clebert Suconic <cl...@apache.org>
Authored: Fri Mar 9 15:48:51 2018 -0500
Committer: Clebert Suconic <cl...@apache.org>
Committed: Fri Mar 9 15:48:51 2018 -0500

----------------------------------------------------------------------
 .../management/ActiveMQServerControlTest.java   | 42 +++++++++++---------
 1 file changed, 23 insertions(+), 19 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/91043f81/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/management/ActiveMQServerControlTest.java
----------------------------------------------------------------------
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 653b45c..400d594 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
@@ -1438,7 +1438,6 @@ public class ActiveMQServerControlTest extends ManagementTestBase {
       ServerLocator locator = createInVMNonHALocator();
       ClientSessionFactory factory = createSessionFactory(locator);
       ClientSession session1 = addClientSession(factory.createSession());
-      Thread.sleep(5);
       ClientSession session2 = addClientSession(factory.createSession("myUser", "myPass", false, false, false, false, 0));
       session2.createConsumer(queueName);
 
@@ -1447,15 +1446,8 @@ public class ActiveMQServerControlTest extends ManagementTestBase {
       Assert.assertNotNull(jsonString);
       JsonArray array = JsonUtil.readJsonArray(jsonString);
       Assert.assertEquals(2, array.size());
-      JsonObject first;
-      JsonObject second;
-      if (array.getJsonObject(0).getJsonNumber("creationTime").longValue() < array.getJsonObject(1).getJsonNumber("creationTime").longValue()) {
-         first = array.getJsonObject(0);
-         second = array.getJsonObject(1);
-      } else {
-         first = array.getJsonObject(1);
-         second = array.getJsonObject(0);
-      }
+      JsonObject first = lookupSession(array, session1);
+      JsonObject second = lookupSession(array, session2);
 
       Assert.assertTrue(first.getString("sessionID").length() > 0);
       Assert.assertEquals(((ClientSessionImpl) session1).getName(), first.getString("sessionID"));
@@ -1472,6 +1464,25 @@ public class ActiveMQServerControlTest extends ManagementTestBase {
       Assert.assertEquals(1, second.getJsonNumber("consumerCount").longValue());
    }
 
+   private JsonObject lookupSession(JsonArray jsonArray, ClientSession session) throws Exception {
+      String name = ((ClientSessionImpl)session).getName();
+
+      for (int i = 0; i < jsonArray.size(); i++) {
+         JsonObject obj = jsonArray.getJsonObject(i);
+         String sessionID = obj.getString("sessionID");
+         Assert.assertNotNull(sessionID);
+
+         if (sessionID.equals(name)) {
+            return obj;
+         }
+      }
+
+      Assert.fail("Sesison not found for session id " + name);
+
+      // not going to happen, fail will throw an exception but it won't compile without this
+      return null;
+   }
+
    @Test
    public void testListAllSessionsAsJSON() throws Exception {
       SimpleString queueName = new SimpleString(UUID.randomUUID().toString());
@@ -1493,15 +1504,8 @@ public class ActiveMQServerControlTest extends ManagementTestBase {
       Assert.assertNotNull(jsonString);
       JsonArray array = JsonUtil.readJsonArray(jsonString);
       Assert.assertEquals(2 + (usingCore() ? 1 : 0), array.size());
-      JsonObject first;
-      JsonObject second;
-      if (array.getJsonObject(0).getJsonNumber("creationTime").longValue() < array.getJsonObject(1).getJsonNumber("creationTime").longValue()) {
-         first = array.getJsonObject(0);
-         second = array.getJsonObject(1);
-      } else {
-         first = array.getJsonObject(1);
-         second = array.getJsonObject(0);
-      }
+      JsonObject first = lookupSession(array, session1);
+      JsonObject second = lookupSession(array, session2);
 
       Assert.assertTrue(first.getString("sessionID").length() > 0);
       Assert.assertEquals(((ClientSessionImpl) session1).getName(), first.getString("sessionID"));