A method for notifying events to a node in a cluster includes (1)
receiving a first event message and a second event message, (2) queuing
the first and the second event messages, (3) sending the first event
message to a first service callback, wherein the first service callback
calls a first callback function to handle the first event message, (4)
sending the first event message to a second service callback after (a) a
the first service callback has handled the first event message and (b) a
corresponding first service callback at a member node has handled the
first event message, wherein the second service callback calls a second
callback function to handle the first event message, and (5) sending the
second event message to the first service callback after the first and
the second callback functions have handled the first event message,
wherein the first service callback calls the first callback function to
handle the second event message. The method may further include sending a
dummy message to the first callback function if the first callback
function is waiting for a message from a sending node that is down. The
method may also include sending a node down message to the first callback
function if the first callback function is sending a message to a
receiving node that is down.