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.
This is an automatic backport of pull request #14798 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)
(cherry picked from commit af6d29d)
@michaelklishin michaelklishin modified the milestone: 4.2.0 Oct 23, 2025
@michaelklishin michaelklishin changed the title Handle multiple alarms consistently in protocol readers (backport #14795) (backport #14798) For 4.1.6: Handle multiple alarms consistently in protocol readers (backport #14795) (backport #14798) Oct 23, 2025
@michaelklishin michaelklishin added this to the 4.1.6 milestone Oct 23, 2025
@michaelklishin
Copy link
Collaborator

@the-mikedavis FYI this will have to wait until after 4.1.5 ships (in less than two weeks).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants