Core group View Synchrony Protocol


 

+

Search Tips   |   Advanced Search

 

The View Synchrony Protocol exchanges state information between core group members, providing guaranteed, in-order message delivery for message streams that involve one sender and potentially multiple receivers.

The set of core group members for which the View Synchrony Protocol is established is commonly referred to as a view. The act of adding or removing members from the view is called a view change.

A view change is a relatively expensive synchronization point.

 

View changes

When a core group member starts, the following also start...

The View Synchrony Protocol is notified when the Discovery Protocol establishes connections with other core group membersand then exchanges state information.

If a newly started member discovers an existing view, it negotiates with the members of the existing view to establish a new view.

When a member of an established view stops or fails, the default Failure Detection Protocol on the surviving view members detects the failure and notifies the View Synchrony Protocol. The surviving members then establish a new view that excludes the failed member.

Before a new view is established, activities that are related to the current view are completed. Messages that are sent in the current view must be received and acknowledged by all intended recipients that are still alive. The current members must exchange a non-trivial amount of state information regarding messages sent and received. These members then perform the activities that are needed to complete the pending message activity, which might include the retransmission of messages that seem to be lost.

Installing a new view might result in significant, temporary spikes in the amount of CPU consumed and the network bandwidth used.

 

View change messages

The following view change message indicates that a set of core group members agreed to establish a new view and initiated the view change procedure:

DCSV8054I: DCS Stack DefaultCoreGroup at Member MyCell\MyCellMgr01\dmgr: View change in process.

The following message indicates that all messages sent in the current view are completed and acknowledged:

DCSV2004I: DCS Stack DefaultCoreGroup at Member MyCell\MyCellMgr01\dmgr: The synchronization procedure completed successfully.
The View Identifier is (2:0.MyCell\MyCellMgr01\dmgr).
The internal details are [0].

The following messages indicate that the view change completed successfully. They also specify the name or identifier for the new view, and the number of core group members in that view:

HMGR0218I: A new core group view has been installed. The core group is DefaultCoreGroup.
The view identifier is (3:0.MyCell\MyCellMgr01\dmgr).
The number of members in the new view is 2.

DCSV1033I: DCS Stack DefaultCoreGroup at Member MyCell\MyCellMgr01\dmgr: Confirmed all new view members in view identifier (3:0.MyCell\MyCellMgr01\dmgr).
View channel type is View|Ptp.

The following message provides extended status regarding the state of connections and view synchrony:

DCSV8050I: DCS Stack DefaultCoreGroup at Member MyCell\MyCellMgr01\dmgr: New view installed, identifier (3:0.MyCell\MyCellMgr01\dmgr), view size is 2 (AV=2, CD=2, CN=2, DF=6)

...where...

AV Number of core group members in the view.
CN Number of core group members to which this member has open connections. Normally this number is the same as the number specified for AV.
CD Number of core group members to which this member has open connections minus the number of bad members. A bad member is one that is connected to this member, but cannot currently establish a view with this member.
DF Number of members defined in the core group.





 

Related concepts

Core group transports
Core groups (high availability domains)