Skip to content

Management UI reports two consumers as active on a QQ with x-single-active-consumer #13045

@zachary-jiang

Description

@zachary-jiang

Describe the bug

Rabbit MQ Version: 4.0.5

When using RabbitMQ's x-single-active-consumer feature, the management UI shows all connected consumers with the status "single active" under the Activity status column. However, this is misleading because only one consumer is actually active and receiving messages, while the others are in a standby state, waiting to take over if the active consumer disconnects or fails.

This behavior is intentional and works as designed for the x-single-active-consumer feature, ensuring only one active consumer processes messages at a time. However, the UI does not differentiate between the active consumer and the standby consumers, which can cause confusion for users.

19BD6523-1830-4e42-BCA8-054F7FC7E819

Reproduction steps

1.Run the following command to publish 5000 messages to a quorum queue named qq-sac with the x-single-active-consumer feature enabled:
java -jar perf-test.jar --uri amqp://guest:[email protected]:5672 --quorum-queue --queue qq-sac --pmessages 5000 --confirm 100 -qa x-single-active-consumer=true --consumers 0
Start a consumer with default priority (prefetch 1000, consumption rate ~10 msgs/sec):

2.Start a consumer with default priority and a prefetch count of 1000:
java -jar perf-test.jar --uri amqp://guest:[email protected]:5672 --producers 0 --predeclared --queue qq-sac --consumer-latency 100000 --qos 1000
Start a second consumer with higher priority:

3.Start another consumer on the same queue, but with a higher priority (x-priority=10):
java -jar perf-test.jar --uri amqp://guest:[email protected]:5672 --producers 0 --predeclared --queue qq-sac --consumer-latency 100000 --qos 1000 --consumer-args x-priority=10
Observation:

4.In RabbitMQ's management UI, both consumers will be displayed as having the "single active" status under Activity status, even though only one consumer is actively consuming messages, while the other is in standby mode.
This leads to confusion as the UI does not differentiate the active consumer from the standby consumers.

Expected behavior

The UI should clearly indicate which consumer is active and which ones are in a standby state when the x-single-active-consumer feature is enabled.

Additional context

No response

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions