ClusterLabs/pacemaker — pull request #83 by davidvossel (2012-06-08 14:42:09+00:00)
Title: High: cib: cl#5026 - Synced cib updates should not return until the cpg broadcast is complete.

This fixes a race condition on shutdown where the final lrm
operation updates sent to the cib are not broadcast to all the
nodes before the crmd leaves the cpg. This results in the final
lrm operations being ignored, which makes it look like the node
did not terminate properly. When this occurs the node that just
shutdown gets fenced even though it didn't need to be.

To fix this, on shutdown all the final lrm operation updates sent
to the cib from the crmd are processed synchronously. The function
the crmd is using to update the cib will not return until the
cib broadcast has made it out to everyone. This guarantees that the
crmd will not leave the cpg before the cib updates are broadcast.