You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Jean-Baptiste Onofré (JIRA)" <ji...@apache.org> on 2018/07/19 12:19:00 UTC

[jira] [Commented] (AMQ-5730) When nonBlockingRedelivery is set to true, redelivery delays can be incorrect

    [ https://issues.apache.org/jira/browse/AMQ-5730?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16549197#comment-16549197 ] 

Jean-Baptiste Onofré commented on AMQ-5730:
-------------------------------------------

I gonna test if it's still the case in 5.15.x (it seems so but a little bit different).

> 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
>          Components: Broker
>    Affects Versions: 5.15.3
>            Reporter: arnaud hoareau
>            Assignee: Jean-Baptiste Onofré
>            Priority: Major
>         Attachments: ActiveMQRedelivery.java
>
>
> 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
(v7.6.3#76005)