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
- Producer publishes a message on Exchange A: OK
- Exchange A routes the message to the Quorum Queue: OK
- Consumer receives the message but nacks it with requeue=true: OK
- This happens 3 times, reaching the delivery-limit: 3: OK
- Message gets routed to DLX A: OK
- Messages reaches Classic Queue: OK
- After Message TTL, message gets published to Exchange A: KO
- 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?