Hello,

I have an unexpected behavior on redelivery with artemis.

The documentation states that redelivery is attempted 10 times by
default and that -1 means infinite

(https://activemq.apache.org/components/artemis/documentation/2.10.1/undelivered-messages.html)

(I checked the documentation matching version to be sure, but it seems
identical in latest)

I have queues with max-delivery-attempts set to -1 (in
<address-setting>, per queue). I checked the live queue properties in
JMX, it matches the xml configuration with -1 so a configuration loading
issue is not supected.

Now I have broken connexions on consumers (more on that later) and the
message is trashed after six attempts.

It produces the following (<redacted>) log statements

2021-01-06 16:56:28,016 WARN  {Thread-16
(ActiveMQ-server-org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl$6@f493a59)}
[org.apache.activemq.artemis.core.client] : AMQ212037: Connection
failure to /xxx.xxx.xxx.xxx:49918 has been detected: AMQ229014: Did not
receive data from /xxx.xxx.xxx.xxx:49918 within the 30,000ms connection
TTL. The connection will now be closed. [code=CONNECTION_TIMEDOUT]
2021-01-06 16:56:28,030 WARN  {Thread-18 (activemq-netty-threads)}
[org.apache.activemq.artemis.core.server] : AMQ222150: Message
Reference[5011177500]:RELIABLE:CoreMessage[messageID=5011177500,durable=true,userID=6eeab1a3-5037-11eb-80d8-b02628c2b3dc,priority=4,
timestamp=Wed Jan 06 16:54:17 CET 2021,expiration=0, durable=true,
address=<address>,size=1665,properties=TypedProperties[__HDR_dlqDeliveryFailureCause=java.lang.Throwable:
Dispatch[8] to ID:<hostname>-44589-1607881800084-3:84233:1:106 exceeds
redelivery policy limit:RedeliveryPolicy {destination = null,
collisionAvoidanceFactor = 0.15, maximumRedeliveries = 6,
maximumRedeliveryDelay = -1, initialRedeliveryDelay = 1000,
useCollisionAvoidance = false, useExponentialBackOff = false,
backOffMultiplier = 5.0, redeliveryDelay = 1000, preDispatchCheck =
true},__AMQ_CID=5d351b8e-3ebb-11eb-80d8-b02628c2b3dc,_AMQ_ROUTING_TYPE=1,<more
headers> has exceeded max delivery attempts. No Dead Letter Address
configured for queue <address> so dropping it

the 6 redelivery attempts seems consistent with this other documentation :

https://access.redhat.com/documentation/en-us/red_hat_amq/6.3/html/client_connectivity_guide/amq-redelivery

So, any clue why we get this behavior ? Did I get the meaning of the
configuration directives wrong ? Is there a bug in the documentation
and/or artemis ?

Regards,

SL

Reply via email to