Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
0.18
Description
Description of problem:
Having a scenario with a slow producer and a consumer periodically running Receiver::fetch() method (for timeout lesser than forever), the consumer gets just first N messages where N is the size of prefetch / capacity, and then nothing - despite there are new messages on the broker.
Version-Release number of selected component (if applicable):
qpid-cpp-client*-0.18-14
How reproducible:
100%
Steps to Reproduce:
1. Unpack attached tarball
2. make
3. in one terminal, create queue and start producer (that waits 15 seconds to kick-off consumer first):
./setup
4. in another terminal, start consumer:
./read
Actual results:
When producer starts to produce messages, the consumer gets just first 10 messages (or whatever is set in receiver.setCapacity()). Later on, despite there are new messages in the queue, receiver does not get any.
Expected results:
Receiver gets further messages when some occurr on the broker.
Additional info:
Patch proposed