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 2022/11/22 07:57:00 UTC
[jira] [Resolved] (AMQ-8617) RedeliveryPolicy:Exponential Backoff + NonBlockingRedelivery = too long delays
[ https://issues.apache.org/jira/browse/AMQ-8617?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jean-Baptiste Onofré resolved AMQ-8617.
---------------------------------------
Resolution: Fixed
> RedeliveryPolicy:Exponential Backoff + NonBlockingRedelivery = too long delays
> ------------------------------------------------------------------------------
>
> Key: AMQ-8617
> URL: https://issues.apache.org/jira/browse/AMQ-8617
> Project: ActiveMQ
> Issue Type: Bug
> Reporter: Endre Stølsvik
> Assignee: Jean-Baptiste Onofré
> Priority: Minor
> Fix For: 5.18.0, 5.17.3
>
> Time Spent: 20m
> Remaining Estimate: 0h
>
> Scenario on client:
> # Employing RedeliveryPolicy with exponential backoff (keeping maximum redeliveries at default 6)
> # Enabled non-blocking redelivery
> # Receiving e.g. 100 consecutive poison messages which are rolled back repeatedly (which eventually should DLQ after max redeliveries)
> This will result in massive redelivery delays due to a logic bug.
> The reason is that redeliveryDelay is a field variable kept on the ActiveMQMessageConsumer, instead of being a property on the message - or that the redelivery delay was calculated per message based on the redelivery count.
> When consecutive messages rollbacks multiple times, the redeliveryDelay field is continuously multiplied by the backoff multiplier, resulting in enormous delays.
> Pull Request for fix, including test: https://github.com/apache/activemq/pull/843
--
This message was sent by Atlassian Jira
(v8.20.10#820010)