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

                 Key: QPID-3165
                 URL: https://issues.apache.org/jira/browse/QPID-3165
             Project: Qpid
          Issue Type: Bug
          Components: Java Broker
    Affects Versions: 0.8, 0.7, 0.6, 0.5, M4, 0.9, 0.10
            Reporter: Robbie Gemmell
            Assignee: Robbie Gemmell
            Priority: Critical
             Fix For: 0.11


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.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to