Skip to content

Conversation

@mergify
Copy link

@mergify mergify bot commented Oct 23, 2025

The MQTT, WebMQTT and STOMP reader modules tracked whether they were blocked by any alarm, but they should instead keep a set of active alarms. Only tracking the Conserve part of the alarm notification from rabbit_alarm doesn't work correctly if a cluster enters and exits multiple alarms. For example if a cluster had both memory and disk alarms active and then cleared memory, these readers would unblock while they should remain blocked until both alarms are cleared.

Keeping a set of rabbit_alarm:resource_alarm_source()s matches the AMQP 0-9-1 and 1.0 readers. This change also updates the 0-9-1 reader to use map-based sets for the sake of consistency.


This is an automatic backport of pull request #14795 done by Mergify.

The MQTT, WebMQTT and STOMP reader modules tracked whether they were
blocked by any alarm, but they should instead keep a set of active
alarms. Only tracking the `Conserve` part of the alarm notification from
`rabbit_alarm` doesn't work correctly if a cluster enters and exits
multiple alarms. For example if a cluster had both memory and disk
alarms active and then cleared memory, these readers would unblock while
they should remain blocked until both alarms are cleared.

Keeping a set of `rabbit_alarm:resource_alarm_source()`s matches the
AMQP 0-9-1 and 1.0 readers. This change also updates the 0-9-1 reader
to use map-based `sets` for the sake of consistency.

(cherry picked from commit 971d32e)
@michaelklishin michaelklishin added this to the 4.2.0 milestone Oct 23, 2025
@michaelklishin michaelklishin merged commit 72b45f5 into v4.2.x Oct 23, 2025
291 checks passed
@michaelklishin michaelklishin deleted the mergify/bp/v4.2.x/pr-14795 branch October 23, 2025 17:57
michaelklishin added a commit that referenced this pull request Oct 30, 2025
For 4.1.6: Handle multiple alarms consistently in protocol readers (backport #14795) (backport #14798)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants