Endre Stølsvik created AMQ-8617:
-----------------------------------
Summary: 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
Scenario on client:
# Enabled RedeliveryPolicy with exponential backoff (keeping maximum
redeliveries at > 1, e.g. default 6)
# Enabled non-blocking redelivery
# Receiving e.g. 100 consecutive poison messages (which eventually should DLQ
after max redeliveries)
This will result in absolutely 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 redelivers multiple times, the redeliveryDelay field
is continuously multiplied by the backoff multiplier, resulting in absolutely
massive delays.
I'll submit a PR.
--
This message was sent by Atlassian Jira
(v8.20.7#820007)