summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMichael Klishin <michael@rabbitmq.com>2013-06-24 17:43:46 +0400
committerMichael Klishin <michael@rabbitmq.com>2013-06-24 17:43:46 +0400
commite9ba72ed59ecada718fc415ba47879ac22982dba (patch)
treefc3b96fd9bb5161a3322a06d94ef482eb36dac6d /include
parent19ca23aafc70361ffa0137966baa98793661c45c (diff)
downloadrabbitmq-server-git-e9ba72ed59ecada718fc415ba47879ac22982dba.tar.gz
Deliver all alart notification to handle overlapping alarms
connection.blocked requires us to track resources we are conserving. This means the old logic of determining edge state transitions for alarms does not work any more. Instead of using the old strategy of comparing alarmed node collection sizes, instead of pass around what event the notification is for and simply deliver it to the relevant nodes. This requires that rabbit_alarm event consumers handle duplicate notifications. They already do so after earlier changes on branch bug25191. This makes connection unblocking work correctly in the following sequence of events: * memory alarm set for node A * disk alarm set for node A * memory alarm cleared for node A * disk alarm cleared for node A as well as other similar scenarios with overlapping alarms. This slighly increases internode and intranode message traffic of alarm notifications. Since alarms occur rarely in well-monitored systems, this is a reasonable trade-off.
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions