Erwin Dondorp created ARTEMIS-3190:
--------------------------------------
Summary: AMQ222289: Did not route to any matching bindings on
dead-letter-address DLQ and auto-create-dead-letter-resources is true
Key: ARTEMIS-3190
URL: https://issues.apache.org/jira/browse/ARTEMIS-3190
Project: ActiveMQ Artemis
Issue Type: Wish
Components: Broker
Affects Versions: 2.17.0
Reporter: Erwin Dondorp
When a client rollbacks the offered messages, the following error is visible:
{noformat}
WARN [org.apache.activemq.artemis.core.server] AMQ222289: Did not route to any
matching bindings on dead-letter-address DLQ and
auto-create-dead-letter-resources is true; dropping message:
Reference[375]:RELIABLE:AMQPStandardMessage( [durable=true, messageID=375,
address=x1, size=189, applicationProperties={},
properties=Properties{messageId=8bedcf71-a878-469f-9fdf-937c3dc44a02,
userId=null, to='x1', subject='null', replyTo='null', correlationId=null,
contentType=null, contentEncoding=null, absoluteExpiryTime=null,
creationTime=Fri Mar 19 12:07:02 UTC 2021, groupId='null', groupSequence=null,
replyToGroupId='null'}, extraProperties = TypedProperties[_AMQ_AD=x1]]
{noformat}
The original source code of Artemis says "this shouldn't happen, but in case it
does it's better to log a message than just drop the message silently". And
indeed the message is dropped.
setup:
* use a client that uses createSession(true, Session.CLIENT_ACKNOWLEDGE)
* let the client always rollback the offered message
* server has auto-create-dead-letter-resources=true for all addresses
after 10 tries, the server gives up on the message and tries to move it to the
DLQ address --> OK.
when the DLQ address does not exist yet, it is created --> OK
when the queue under DLQ does not exist yet, it is created --> OK
but moving the message to that queue fails with the above message --> FAIL
this results in message loss.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)