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]