-
Notifications
You must be signed in to change notification settings - Fork 4k
Description
Describe the bug
This line
https://github.com/rabbitmq/rabbitmq-server/blame/788879969ed10120b61bf03e6d2f72b1447ca73b/deps/rabbit/src/rabbit_fifo.erl#L1837
mc:set_annotation(delivery_count, DelCount, Msg);
seems to be calling
mc:set_annotation which doesnt have any clause for delivery_count atom. I am new to Erlang and I might be wrong but my first guess would be that this should be the fix
mc:set_annotation(<<"x-delivery-count">>, DelCount, Msg);
Noticed this bug because no consumer can consume from a quorum queue that contains high delivery count and this error occurs
2024-09-26 15:33:43.440384+00:00 [error] <0.111012.0> ** {function_clause,
2024-09-26 15:33:43.440384+00:00 [error] <0.111012.0> [{mc_compat,set_annotation,
2024-09-26 15:33:43.440384+00:00 [error] <0.111012.0> [delivery_count,1826,
2024-09-26 15:33:43.440384+00:00 [error] <0.111012.0> {basic_message,
XXXXXXXXXXXXXXXXXXXXXX
2024-09-26 15:33:43.440384+00:00 [error] <0.111012.0> <<>>,false}],
2024-09-26 15:33:43.440384+00:00 [error] <0.111012.0> [{file,"mc_compat.erl"},{line,61}]},
2024-09-26 15:33:43.440384+00:00 [error] <0.111012.0> {rabbit_fifo_client,add_delivery_count_header,2,
2024-09-26 15:33:43.440384+00:00 [error] <0.111012.0> [{file,"rabbit_fifo_client.erl"},{line,228}]},
2024-09-26 15:33:43.440384+00:00 [error] <0.111012.0> {rabbit_fifo_client,'-transform_msgs/3-fun-0-',3,
2024-09-26 15:33:43.440384+00:00 [error] <0.111012.0> [{file,"rabbit_fifo_client.erl"},{line,843}]},
2024-09-26 15:33:43.440384+00:00 [error] <0.111012.0> {lists,map,2,[{file,"lists.erl"},{line,1559}]},
2024-09-26 15:33:43.440384+00:00 [error] <0.111012.0> {rabbit_fifo_client,handle_delivery,4,
2024-09-26 15:33:43.440384+00:00 [error] <0.111012.0> [{file,"rabbit_fifo_client.erl"},{line,777}]},
2024-09-26 15:33:43.440384+00:00 [error] <0.111012.0> {rabbit_queue_type,handle_event,3,
2024-09-26 15:33:43.440384+00:00 [error] <0.111012.0> [{file,"rabbit_queue_type.erl"},{line,588}]},
2024-09-26 15:33:43.440384+00:00 [error] <0.111012.0> {rabbit_channel,handle_cast,2,
2024-09-26 15:33:43.440384+00:00 [error] <0.111012.0> [{file,"rabbit_channel.erl"},{line,699}]},
2024-09-26 15:33:43.440384+00:00 [error] <0.111012.0> {gen_server2,handle_msg,2,[{file,"gen_server2.erl"},{line,1056}]}]}
Reproduction steps
1.Setup a quorum queue which has messages with high delivery count on RabbitMQ 4.0.2 server.
2.Try to consume from that queue with a client or a shovel.
Expected behavior
The message should be consumed, but it just causes an 541 error.
Additional context
No response