merlimat commented on issue #13965:
URL: https://github.com/apache/pulsar/issues/13965#issuecomment-1022702933
I think there is a problem with the repro code above and with the original
C++ test and the production code is actually correct here.
The repro code is doing:
* Create 3 producers and publish on 3 different topics
* Create 3 consumers on the 3 topics with key-shared, starting from
"earliest"
* The problem is that consumers are created after the messages are
published, therefore the pre-fetching is already done
* The first consumer will get pushed 1K message when it's first added, then
other keys will get stalled.
There are 2 problems in the way the repro code (and the test) are consuming:
* There's no ack, therefore the keys that were sent to first consumer
cannot be sent to any other consumers
* The test is sequentially receiving from the 3 consumers, stopping when 1
consumers has no more messages for 1 second.
What happens is that 1000 messages are pushed to the 1st consumer, and then
the other consumers are stalled because the 1st consumer didn't acknowledge.
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]