Uploaded image for project: 'ActiveMQ'
  1. ActiveMQ
  2. AMQ-3436

Support Prioritization Of Messages Pending Dispatch

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 5.5.0
    • Fix Version/s: 5.6.0
    • Component/s: Broker
    • Labels:
      None
    • Patch Info:
      Patch Available

      Description

      ActiveMQ does not deliver messages in priority order when the following conditions are true:

      1. A consumer has prefetch set to one (or zero).
      2. The consumer is created (consumerSession.createConsumer) prior to message delivery
      3. Large maxPageSize is configured

      The fix is to modify org.apache.activemq.broker.region.Queue to use a PrioritizationPendingList for the message in "pagedInPendingDispatch" so they are dispatched in priority order.

      A test case reproducing the issue is included.
      The patched file deltas are included.

        Attachments

        1. AMQPriorityTest.java
          7 kB
          Kevin Urciolo
        2. OrderedPendingList.java-patch.txt
          1 kB
          Kevin Urciolo
        3. PendingList.java-patch.txt
          0.9 kB
          Kevin Urciolo
        4. PrioritizedPendingList.java-patch.txt
          1 kB
          Kevin Urciolo
        5. Queue.java-patch.txt
          11 kB
          Kevin Urciolo

          Activity

            People

            • Assignee:
              tabish121 Timothy Bish
              Reporter:
              urciolo1 Kevin Urciolo
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: