gy-deng commented on code in PR #1410:
URL: https://github.com/apache/pulsar-client-go/pull/1410#discussion_r2348929969


##########
pulsar/consumer_test.go:
##########
@@ -1216,13 +1217,86 @@ func TestConsumerNack(t *testing.T) {
        // Failed messages should be resent
 
        // We should only receive the odd messages
-       for i := 1; i < N; i += 2 {
+       receivedOdd := 0
+       expectedOdd := (N + 1) / 2 // Expected number of odd message IDs
+
+       for receivedOdd < expectedOdd {
                msg, err := consumer.Receive(ctx)
                assert.Nil(t, err)
-               assert.Equal(t, fmt.Sprintf("msg-content-%d", i), 
string(msg.Payload()))
 
+               // Extract message ID from the payload (e.g., "msg-content-15")
+               var id int
+               _, err = fmt.Sscanf(string(msg.Payload()), "msg-content-%d", 
&id)
+               assert.Nil(t, err)
+
+               // Count only odd message IDs
+               if id%2 == 1 {
+                       assert.True(t, id%2 == 1) // Optional check, included 
for clarity
+                       receivedOdd++
+               }
+
+               // Acknowledge message to mark it as processed
                consumer.Ack(msg)
        }
+
+       // Verify that the correct number of odd messages were received
+       assert.Equal(t, expectedOdd, receivedOdd)

Review Comment:
   Because after adding `NackPrecisionBit`, the messages in the same time 
bucket are out of order. The original test strictly depends on the ordered 
redelivery of messages, so I modified it.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to