[
https://issues.apache.org/jira/browse/AMQ-5730?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14532803#comment-14532803
]
arnaud hoareau commented on AMQ-5730:
-------------------------------------
I may explain a bit more the submitted test:
Two messages are sent at nearly the same instant. There is only consumer
rollbacking the session at each message consumption. According to the values of
initial delivery and the backoff multplier, the message are expected to be
redelivered 1s later and 6s later their emission. This is the case for first
message. Yet, the second message second redelivery is not done after 6s but
after 26s (ie, 1sec + 5*6sec). IMHO, the second message should have been
redelivered the 2nd time after 6s.
Do you agree with this?
> 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
> Reporter: arnaud hoareau
> 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
(v6.3.4#6332)