Szymon Jachim created AMQ-6368:
----------------------------------

             Summary: Non-blocking redelivery does not calculate exponential 
delivery properly
                 Key: AMQ-6368
                 URL: https://issues.apache.org/jira/browse/AMQ-6368
             Project: ActiveMQ
          Issue Type: Bug
          Components: JMS client
    Affects Versions: 5.13.3
            Reporter: Szymon Jachim


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

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.

Related to: AMQ-3597 AMQ-1853



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to