rabbitmq-server icon indicating copy to clipboard operation
rabbitmq-server copied to clipboard

3.13.0 - 3.13.2: Dead-letter cycle detection can wrongly drop messages

Open ansd opened this issue 1 month ago • 0 comments

Describe the bug

As described in https://www.rabbitmq.com/docs/dlx#routing it is possible to form a cycle of message dead-lettering. The docs and the behaviour up to 3.12 are as follows:

Messages in such cycles (that is, messages that reach the same queue twice) are dropped if there was no rejection in the entire cycle.

However, in 3.13 messages can be dropped even if there is a rejection in the entire cycle.

Reproduction steps

Test case https://github.com/rabbitmq/rabbitmq-server/blob/46e1058f318a8312344bbdd9fa0d6e97f481c7a9/deps/rabbit/test/dead_lettering_SUITE.erl#L381-L437 shows a reproduction step.

Expected behavior

Messages in a cycle are only dropped if there was no rejection in the entire cycle.

Additional context

No response

ansd avatar May 03 '24 08:05 ansd