Qpid
  1. Qpid
  2. QPID-4786

Delayed response for concurrent fetches

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 0.22
    • Fix Version/s: 0.23
    • Component/s: C++ Client
    • Labels:
      None

      Description

      Where a session has two concurrent fetch() (or indeed get()) operations in progress, one of them may be delayed up to the timeout even if there is in fact a message much earlier than that.

      This is due to the design whereby the threads pop off the next message from a session queue, and put it into a received buffer if its not one they are interested in. The wrong thread can get the message, and the other thread remains waiting for another one before re-checking the received buffer (which now has a message that matches its interest).

        Activity

        Hide
        Gordon Sim added a comment -

        Patch available for review: https://reviews.apache.org/r/10839/

        Show
        Gordon Sim added a comment - Patch available for review: https://reviews.apache.org/r/10839/
        Show
        Gordon Sim added a comment - Fix committed as http://svn.apache.org/viewvc?view=revision&revision=1477975
        Hide
        Justin Ross added a comment -
        Show
        Justin Ross added a comment - Released in Qpid 0.24, http://qpid.apache.org/releases/qpid-0.24/index.html

          People

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

            Dates

            • Created:
              Updated:
              Resolved:

              Development