arnaud hoareau created AMQ-5730:
-----------------------------------

             Summary: When nonBlockingRedelivery is set to true, redelivery 
delays can be incorrect
                 Key: AMQ-5730
                 URL: https://issues.apache.org/jira/browse/AMQ-5730
             Project: ActiveMQ
          Issue Type: Bug
            Reporter: arnaud hoareau


If nonBlockingRedivery is set to true and several message transactional 
deliveries are rollbacked by the same message consumer, their redelivery delay 
will interfer with each other. 

Ex: 
1) A first message delivery is rollbacked. 

2) A second message is consumed by the same message consumer and delivery of 
second message is also rollbacked.

3) First message is redelivered after initial delay and is rollbacked. 

4) Second message is delivered after initial delay and is rollbacked.

5) First message is redelivered after delay according to values of parameters 
useExponentialBackOff, backOffMultiplier, maximumRedeliveryDelay and 
useCollisionAvoidance.

6) Second message is redelivered after delay according to values of parameters 
*but also according the value of the delay consumer of the previous message*, 
stored in message consumer. For example, if last first message redelivery delay 
was x (computed at step 5), the current delay of step 6 will be at 
backoffmultiplier * x (if used).

7) Again, next first message redelivery delay will be impacted by last second 
message redelivery delay, etc.

A message redelivery should not impacted by other messages redelivery delay and 
should only be computed by the number of redeliveries.







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

Reply via email to