-
Describe the bugOn RabbitMQ 4.3.1, quorum queues with active consumers reports consumer_utilisation / consumer_capacity 0. This was noticed after upgrading a cluster to 4.3.1 and our alerts for consumer utilisation never recovered. Reproduction steps
Expected behaviorQuorum queues with active consumers should report a non-zero utilisation value (and 1.0 when idle). Attempting the same test on RabbitMQ 4.2.4 succeeds, and we observe a value of 1.0. Additional contextI don't have the Erlang experience to quickly assess its accuracy, but here's a root cause analysis from AI: In 4.3.1, quorum queues use rabbit_fifo version 8 (Ra v3, merged in #13885). Consumer capacity tracking was accidentally dropped during that rewrite. The tick handler no longer writes to the rabbit_fifo_usage ETS table, but rabbit_quorum_queue:handle_tick/3 still reads it via rabbit_fifo:usage/1, which returns 0.0 when empty. Older fifo versions (v7 and below, used in 4.2.x) still populate the table on tick. |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 2 replies
-
|
@XA21X there's meaningfully more than just one ETS write missing in Ra machine v8, so this may or may not be an accidental omission. I have asked the rest of the team about the intent. |
Beta Was this translation helpful? Give feedback.
-
|
@XA21X consumer utilisation never worked correctly with QQs, it is a legacy feature from classic queues that we removed in this version. Apologies it should have been called out in the release notes. |
Beta Was this translation helpful? Give feedback.
@XA21X consumer utilisation never worked correctly with QQs, it is a legacy feature from classic queues that we removed in this version. Apologies it should have been called out in the release notes.