diff --git a/pulsar-broker/src/test/java/org/apache/pulsar/broker/service/ResendRequestTest.java b/pulsar-broker/src/test/java/org/apache/pulsar/broker/service/ResendRequestTest.java index f290e707f772b..4292b9236c853 100644 --- a/pulsar-broker/src/test/java/org/apache/pulsar/broker/service/ResendRequestTest.java +++ b/pulsar-broker/src/test/java/org/apache/pulsar/broker/service/ResendRequestTest.java @@ -513,8 +513,11 @@ public void testSharedSingleAckedPartitionedTopic() throws Exception { } // 4. Receive messages - Message message1 = consumer1.receive(); - Message message2 = consumer2.receive(); + // Use timeouts on the initial receives — with a Shared subscription the broker may + // dispatch all messages to a single consumer (receiverQueueSize is larger than the + // number of messages per partition), and a blocking receive() would hang. + Message message1 = consumer1.receive(5000, TimeUnit.MILLISECONDS); + Message message2 = consumer2.receive(5000, TimeUnit.MILLISECONDS); int messageCount1 = 0; int messageCount2 = 0; int ackCount1 = 0;