For 4.1.6: Handle multiple alarms consistently in protocol readers (backport #14795) (backport #14798) #14802
+55
−30
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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
Conservepart of the alarm notification fromrabbit_alarmdoesn'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-basedsetsfor 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.