[ClusterLabs] [corosync] Virtual Synchrony Property guarantees in case of network partition

satish kumar satish.kr2008 at gmail.com
Mon Jun 6 00:58:20 EDT 2016


Virtual Synchrony Property - messages are delivered in agreed order and
configuration changes are delivered in agreed order relative to message.

What happen to this property when network is partitioned the cluster into
two. Consider following scenario (which I took from one of the
previous query by Andrei Elkin):

* N1, N2 and N3 are in state sync with m(k-1) messages are delivered.
* N1 sends m(k) and just now network partition N1 node from N2 and N3.

Does CPG_TYPE_AGREED guarantee that virtual synchrony is held?

When property is held, configuration change message C1 is guaranteed to
delivered before m(k) to N1.
N1 will see: m(k-1) C1 m(k)
N2 and N3 will see: m(k-1) C1

But if this property is violated:
N1 will see: m(k-1) m(k) C1
N2 and N3 will see: m(k-1) C1

Violation will screw any user application running on the cluster.

Could someone please explain what is the behavior of Corosync in this
scenario with CPG_TYPE_AGREED ordering.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.clusterlabs.org/pipermail/users/attachments/20160606/2736f716/attachment-0002.html>

More information about the Users mailing list