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/26 16:28:00 UTC

[jira] [Commented] (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:comment-tabpanel&focusedCommentId=16220724#comment-16220724 ] 

Gary Tully commented on AMQ-6847:
---------------------------------

it seems the retry operation will need to lock down dispatch to the DLQ till it completes. This case shows that it can accept a message while and ack is pending.

> 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
>         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)