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