From 0dc6fb8edfeac1dbaf9a65902402f4d1aba1df6d Mon Sep 17 00:00:00 2001 From: Erich Duda Date: Wed, 20 Jul 2016 15:48:10 +0200 Subject: [PATCH] ARTEMIS-645 ClusteredGroupingTest fails In testGroupingSendTo3queuesNoConsumerOnLocalQueue the batch of messages can be received also by the second consumer. It depends on cluster decision. --- .../distribution/ClusteredGroupingTest.java | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/distribution/ClusteredGroupingTest.java b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/distribution/ClusteredGroupingTest.java index c15ded0b0d9..ecf5aae3c36 100644 --- a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/distribution/ClusteredGroupingTest.java +++ b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/cluster/distribution/ClusteredGroupingTest.java @@ -1225,15 +1225,28 @@ public void testGroupingSendTo3queuesNoConsumerOnLocalQueue() throws Exception { waitForBindings(1, "queues.testaddress", 2, 2, false); waitForBindings(2, "queues.testaddress", 2, 1, false); + sendInRange(1, "queues.testaddress", 0, 1, false, Message.HDR_GROUP_ID, new SimpleString("id1")); + + int consumer = 0; + if (consumers[0].consumer.receive(5000) != null) { + consumer = 0; + } + else if (consumers[2].consumer.receive(5000) != null) { + consumer = 2; + } + else { + fail("Message was not received."); + } + sendInRange(1, "queues.testaddress", 0, 10, false, Message.HDR_GROUP_ID, new SimpleString("id1")); - verifyReceiveAllInRange(0, 10, 0); + verifyReceiveAllInRange(0, 10, consumer); sendInRange(2, "queues.testaddress", 10, 20, false, Message.HDR_GROUP_ID, new SimpleString("id1")); - verifyReceiveAllInRange(10, 20, 0); + verifyReceiveAllInRange(10, 20, consumer); sendInRange(0, "queues.testaddress", 20, 30, false, Message.HDR_GROUP_ID, new SimpleString("id1")); - verifyReceiveAllInRange(20, 30, 0); + verifyReceiveAllInRange(20, 30, consumer); }