diff --git a/tests/soak-tests/src/test/java/org/apache/activemq/artemis/tests/soak/retention/LargeMessageRetentionTest.java b/tests/soak-tests/src/test/java/org/apache/activemq/artemis/tests/soak/retention/LargeMessageRetentionTest.java index cf02d9214b..d1e73118e6 100644 --- a/tests/soak-tests/src/test/java/org/apache/activemq/artemis/tests/soak/retention/LargeMessageRetentionTest.java +++ b/tests/soak-tests/src/test/java/org/apache/activemq/artemis/tests/soak/retention/LargeMessageRetentionTest.java @@ -28,6 +28,7 @@ import javax.jms.TextMessage; import java.io.File; import java.lang.invoke.MethodHandles; import java.util.HashMap; +import java.util.HashSet; import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; @@ -212,15 +213,23 @@ public class LargeMessageRetentionTest extends SoakTestBase { SimpleManagement simpleManagement = new SimpleManagement("tcp://localhost:61616", null, null); Wait.assertEquals(10, () -> simpleManagement.getMessageCountOnQueue(queueName), 5000); + HashSet receivedMessages = new HashSet<>(); + for (int i = 0; i < 10; i++) { TextMessage message = (TextMessage) consumer.receive(300_000); Assert.assertNotNull(message); logger.info("Received replay message {}", i); Assert.assertEquals(0, message.getIntProperty("producerI")); - Assert.assertEquals(i, message.getIntProperty("messageI")); + receivedMessages.add(message.getIntProperty("messageI")); Assert.assertEquals(bufferStr, message.getText()); } Assert.assertNull(consumer.receiveNoWait()); + + Assert.assertEquals(10, receivedMessages.size()); + for (int i = 0; i < 10; i++) { + Assert.assertTrue(receivedMessages.contains(i)); + } + } }