Qpid
  1. Qpid
  2. QPID-4595

Invoking Receiver::fetch() in a loop for slow producer causes only first <prefetch> messages received

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 0.18
    • Fix Version/s: 0.21
    • Component/s: C++ Client
    • Labels:

      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

      1. bz913448_reproducer.tar.gz
        2 kB
        Pavel Moravec
      2. bz913448.patch
        2 kB
        Pavel Moravec

        Activity

        No work has yet been logged on this issue.

          People

          • Assignee:
            Gordon Sim
            Reporter:
            Pavel Moravec
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Time Tracking

              Estimated:
              Original Estimate - 4h
              4h
              Remaining:
              Remaining Estimate - 4h
              4h
              Logged:
              Time Spent - Not Specified
              Not Specified

                Development