Hello,
I'm using RabbitMQ 3.8.9 with protocol AMQP 0.9.1. My test have been done with both Python implementation : pika and java-client in last version.
Context
I created a quorum queue with a delivery limit policy of 1. Messages are sent to a dead letter queue after this only retry
Only one consumer will be used
A prefetch count of 1 is configured
How I proceed
I create a connection and the a channel. I basic_consume the queue and nack every message I receive with a requeue. So they all go to the dead letter queue after one retry
I publish 9 messages to the queue with a simplistic payload : A number from 1 to 9
What I expect
To obtain messages in this order (and 2 times due to the reply policy) : 112233445566778899
What I obtain
As you can see the first one is correct.
Then I receive 2 messages in a row (2 and 3)
And after 4 messages (4, 5, 6 and 7)
... You know the mathematical sequence. It doubles each time
What am I missing ? How can you explain this behavior ?
Regards,
Florent