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)