[ClusterLabs] [corosync] Virtual Synchrony Property guarantees in case of network partition
Jan Friesse
jfriesse at redhat.com
Mon Jun 6 07:15:17 UTC 2016
Hi,
> Hello,
>
> 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.
What exactly you mean by "state sync"?
> * 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?
Yes it does (actually higher level of VS called EVS)
>
> 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.
For description how exactly totem synchronization works take a look to
http://corosync.github.com/corosync/doc/DAAgarwal.thesis.ps.gz
After totem is synchronized, there is another level of synchronization
of services (not described in above doc). All services synchronize in
very similar way, so you can take a look to CPG as example. Basically
only state held by CPG is connected clients. So every node sends it's
connected clients list to every other node. If sync is aborted (change
of membership), it's restarted. These sync messages has priority over
user messages (actually it's not possible to send messages during sync).
User app can be sure that message was delivered only after it gets it's
own message. Also app gets configuration change message so it knows, who
got the message.
Regards,
Honza
>
> Regards,
> Satish
>
>
>
> _______________________________________________
> Users mailing list: Users at clusterlabs.org
> http://clusterlabs.org/mailman/listinfo/users
>
> Project Home: http://www.clusterlabs.org
> Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
> Bugs: http://bugs.clusterlabs.org
>
More information about the Users
mailing list