Quantcast
Channel: Apache Timeline
Viewing all articles
Browse latest Browse all 5648

What is duplicate delivery poison ack?

$
0
0
Hello,

Over several thousands of messages consumed, occasionally I got the
following WARN in the log.

/[ActiveMQMessageConsumer:1434] ( ) acking duplicate delivery as poison,
redelivery must be pending to another consumer on this connection,
failoverRedeliveryWaitPeriod=0. /

(1) What is duplicate delivery poison ack? I browsed through related posts.
Please correct me if I'm wrong. I think it means the two (maybe more)
consumers send ack to the same message back to the broker. The last
received ack is considered as a duplicate and as a poison ack. This can
happen as a result of failover from the first consumer to the second
consumer before the first consumer sends the ack.

(2) This log entry is marked as a WARN not an ERROR. Is it because the
second consumer processed the message successfully anyway, regardless the
first consumer got a rollback?

(3) Does AMQ-5279 address this issue? I noticed that the message that got
poison ack was put into DLQ in my case, matching to the description in that
issue.

My environment:
I have multiple consumers on multiple machines connecting to an activemq
broker with failover protocol, jms.prefetchPolicy.all=0,
Session.SESSION_TRANSACTED, default slow consumer strategy, and group ID on
every message. The ActiveMQ version is 5.10.0.

Thanks in advance.

Viewing all articles
Browse latest Browse all 5648

Trending Articles