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 <clebertsuco...@apache.org> Authored: Fri Mar 9 15:48:51 2018 -0500 Committer: Clebert Suconic <clebertsuco...@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"));