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

Non-blocking redelivery does not calculate exponential delivery properly

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 5.13.3
    • Fix Version/s: None
    • Component/s: JMS client
    • Labels:
      None
    • Patch Info:
      Patch Available

      Description

      Non-blocking redelivery does not calculate exponential delivery properly when retries of delivery are interspersed with (successful) deliveries of other mes sages.

      This is caused by the fact that last redelivery delay is stored in a field and is overwritten delivery of other messages. A possible fix is that redelivery delay can be calculated each time by simply doing multiplications in a loop (as it is done in broker) or using mathematical exponent function. At the same time redelivery count can not be a single field but an array with a counter per each message waiting for client side non-blocking redelivery.

      I can provide a patch for this and a unit tests.

        Attachments

        1. amq6368.patch
          8 kB
          Szymon Jachim

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                sjachim Szymon Jachim
              • Votes:
                5 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated: