You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Gary Tully (JIRA)" <ji...@apache.org> on 2017/10/27 10:43:00 UTC

[jira] [Resolved] (AMQ-6847) Immediate poison ACK after move from DLQ leads to message loss

     [ https://issues.apache.org/jira/browse/AMQ-6847?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gary Tully resolved AMQ-6847.
-----------------------------
       Resolution: Fixed
    Fix Version/s: 5.16.0

[~alvinkwekel@gmail.com] Thanks for the test - I was able to easily integrate into a unit test to validate. Having the receiving queue pause while the move is in progress sorts this issue.

> Immediate poison ACK after move from DLQ leads to message loss
> --------------------------------------------------------------
>
>                 Key: AMQ-6847
>                 URL: https://issues.apache.org/jira/browse/AMQ-6847
>             Project: ActiveMQ
>          Issue Type: Bug
>    Affects Versions: 5.14.5, 5.15.2
>            Reporter: Alvin Kwekel
>            Assignee: Gary Tully
>             Fix For: 5.16.0
>
>         Attachments: FailingReceiver.java, dlq-redelivery-issue.tar.gz
>
>
> *Setup*
> * setMaximumRedeliveries(0)
> * Throw RuntimeException (Poison ACK) in consumer directly after receiving message
> *Scenario*
> * Move message from DLQ to original input queue (either web console or JMX retryMessages)
> * Processing of message fails again directly
> * The message is considered to be still on the DLQ on the rejection and ActiveMQ logs "Not adding duplicate to DLQ"
> Introducing a delay before throwing the exception in the client will get around the issue.
> I initially noticed the issue when using an AMQP reject (Apache Qpid Proton) after which I reproduced similar conditions (instant poison ACK) it with the JMS client. The attached Java app will reproduce the issue on 5.14.5 and 5.15.2.
> Might be related to AMQ-5752.
>  
> 2017-10-24 13:38:11,275 | DEBUG | Not adding duplicate to DLQ: ID:xxx-32848-1508845049112-6:1:1:1:1, dest: queue://TEST | org.apache.activemq.broker.region.policy.AbstractDeadLetterStrategy | ActiveMQ Transport: tcp:///127.0.0.1:36360@61616



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)