rabbitmq_global_publishers and rabbitmq_global_consumers fail to handle unclean client termination
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
rabbitmq-server (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Jammy |
Incomplete
|
Undecided
|
Jorge Merlino |
Bug Description
[Impact]
When a client terminates uncleanly, the global counters for publishers and consumers do not handle this gracefully.
For the consumer metric, the value of the gauge does not decrease after the termination, and so the value ever-increases.
For the publisher metric, the value of the gauge decreases below zero and does not recover, leading to a ever-decreasing negative value on the gauge.
[Test plan]
lxc launch ubuntu:jammy rabbitmq-jammy-test
lxc shell rabbitmq-jammy-test
apt install -y rabbitmq-server
echo '[rabbitmq_
systemctl restart rabbitmq-
wget https:/
apt install -y default-jre
for i in $(seq 1 5); do java -jar perf-test-
The output of this command shows the value of the rabbitmq_
[Where problems could occur]
This is a simple patch that calls the functions for deleting consumers and publishers in the correct places. It should not break anything else than the counters themselves but they were broken to begin with.
[Other Info]
This was patched upstream from version 3.10 so this patch is already applied to Noble and Oracular that use version 3.12. This is the upstream patch: https:/
Changed in rabbitmq-server (Ubuntu Jammy): | |
assignee: | nobody → Jorge Merlino (jorge-merlino) |
description: | updated |
Patch for Jammy