NO-JIRA fix intermittent failure on LargeMessageRetentionTest

This commit is contained in:
Clebert Suconic 2024-05-28 17:25:52 -04:00
parent aab1c484b2
commit 58fc7cbea1

View File

@ -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<Integer> 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));
}
}
}