Qpid
  1. Qpid
  2. QPID-3219

some logic used to find current/available messages may return a QueueEntry currently in the dequeued state.

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 0.5, 0.6, 0.7, 0.8, 0.9, 0.10
    • Fix Version/s: 0.11
    • Component/s: Java Broker
    • Labels:
      None

      Description

      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.

        Activity

        Hide
        Alex Rudyy added a comment -

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

        Show
        Alex Rudyy added a comment - The attached patch adds checks to exclude dequeued entries from being copied,moved, iterated etc.
        Hide
        Alex Rudyy added a comment -

        Updates the patch with more efficient code to check entry state

        Show
        Alex Rudyy added a comment - Updates the patch with more efficient code to check entry state
        Hide
        Robbie Gemmell added a comment -

        Patch applied.

        Show
        Robbie Gemmell added a comment - Patch applied.

          People

          • Assignee:
            Robbie Gemmell
            Reporter:
            Robbie Gemmell
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development