You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Alex Rudyy (JIRA)" <ji...@apache.org> on 2011/05/18 14:01:51 UTC

[jira] [Updated] (QPID-3219) some logic used to find current/available messages may return a QueueEntry currently in the dequeued state.

     [ https://issues.apache.org/jira/browse/QPID-3219?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alex Rudyy updated QPID-3219:
-----------------------------

    Attachment: excludes-entries-in-dequeued-state-from-being-used.patch

The attached patch adds checks to exclude dequeued entries from being copied,moved, iterated etc.

> 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.5, 0.6, 0.7, 0.8, 0.9, 0.10
>            Reporter: Robbie Gemmell
>             Fix For: 0.11
>
>         Attachments: excludes-entries-in-dequeued-state-from-being-used.patch
>
>
> 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:dev-subscribe@qpid.apache.org