Uploaded image for project: 'Qpid'
  1. Qpid
  2. QPID-3165

queue Runner may cease early during asynchronous delivery to multiple subscriptions when using selectors

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • M4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.10
    • 0.11
    • Broker-J
    • None

    Description

      The SimpleAMQQueue#processQueue() method is used by the queue Runner to asynchronously deliver messages on the queue to consumers when immediate delivery isn't possible, e.g. due to competing producers, and the subscriptions own SubFlushRunner is not active.

      A defect in this method means that when multiple subscriptions are present and selectors are in use it is possible for the queue Runner to terminate early, leaving messages on the queue that one of more subscriptions are actually be able to accept. Unless the subscriptions SubFlushRunner is running (which will not occur again for an existing subscription once affected by this defect has presented itself) these messages will remain on the queue until 'pushed off', possibly one by one, due to the arrival of a new message invoking the queue Runner again.

      Attachments

        There are no Sub-Tasks for this issue.

        Activity

          People

            kwall Keith Wall
            robbie Robbie Gemmell
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: