some logic used to find current/available messages may return a QueueEntry
currently in the dequeued state.
-----------------------------------------------------------------------------------------------------------
Key: QPID-3219
URL: https://issues.apache.org/jira/browse/QPID-3219
Project: Qpid
Issue Type: Bug
Components: Java Broker
Affects Versions: 0.8, 0.7, 0.6, 0.5, 0.9, 0.10
Reporter: Robbie Gemmell
Fix For: 0.11
Some logic used to find current/available messages may incorrectly
gather/return a QueueEntry in the dequeued state.
The QueueEntry state model has an intermediate 'dequeued' state that the entry
will enter before being disposed of and moved to the 'deleted' state.
At present, most logic dealing with QueueEntry presence/availability checks
only that they aren't deleted or that they can be acquired (typically both are
done in the latter case, but checking the deletion is unnecessary in this case
since the acquire attempt would fail if it were deleted). There is no intended
path for a queue entry to transition from being dequeued to anything other than
the deleted state, and so any logic inspecting for current/available messages
should also disregard entries in the dequeued state.
Areas known to be affected by the issues include the various
SimpleAMQQueue#'getMessagesOnTheQueue' type operations in used for tasks such
as viewing / copying / moving messages via JMX, and also the
QueueEntryImpl#getNext method used to traverse the QueueEntryList during
delivery operations.
--
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]