Routing messages from DLX to Quorum Queue does not seem to work. Should it?

128 views
Skip to first unread message

Filipe Castilho

unread,
Nov 11, 2021, 6:09:28 AM11/11/21
to rabbitmq-users
Hi all!

I'm wondering if this is possible in rabbitMQ.

I have a producer sending messages to Exchange A.
The Exchange A is bound to a Quorum Queue with a Routing Key A.
The Consumer is receiving messages from the Quorum Queue.
The Quorum Queue has a policy:
  • dead-letter-exchange: DLX A
  • delivery-limit: 3
The DLX A is bound to a Classic Queue with a Routing Key A.
The Classic Queue has a policy:
  • dead-letter-exchange: Exchange A
  • message-ttl: 10000
The diagram below represents this.

What I was expecting was
  1. Producer publishes a message on Exchange A: OK
  2. Exchange A routes the message to the Quorum Queue: OK
  3. Consumer receives the message but nacks it with requeue=true: OK
    1. This happens 3 times, reaching the delivery-limit: 3: OK
  4. Message gets routed to DLX A: OK
  5. Messages reaches Classic Queue: OK
  6. After Message TTL, message gets published to Exchange A:  KO
  7. Then the cycle repeats until the message is discarded via some other logic.

What could be happening in step 6? Is this supposed to be possible?
I also don't see the message anywhere else after step 6. I tried also using firehouse to but no luck.

If instead of a Quorum Queue I use a Classic Queue, this seems to work.
Is there some incompatible combination here?

Untitled Diagram-Page-6.png

Wes Peng

unread,
Nov 11, 2021, 6:21:30 AM11/11/21
to rabbitm...@googlegroups.com
I was guessing the two types of queues have the compatibility issues for some options. :)

regards.

--
You received this message because you are subscribed to the Google Groups "rabbitmq-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rabbitmq-user...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rabbitmq-users/d3ed66f2-33ea-4adf-8307-e210d28b16c2n%40googlegroups.com.

Filipe Castilho

unread,
Nov 11, 2021, 11:22:54 AM11/11/21
to rabbitmq-users
What seems to be happening, is that if after the TTL on the classic queue is reached and I route the message to a different quorum queue without delivery limit, it seems to reach it. the only path that is never possible again is to make the message reach the Quorum Queue where the message initially passed...
Could some headers DLX headers prevent the message from being delivered to the initial QQ?
Is there a way to clear some headers between exchanges?

Filipe Castilho

unread,
Nov 11, 2021, 11:33:02 AM11/11/21
to rabbitmq-users
Could this be a bug?
Reply all
Reply to author
Forward
0 new messages