+

Search Tips   |   Advanced Search

Core group View Synchrony Protocol

The View Synchrony Protocol is established over the set of core group members that can communicate with each other. This protocol provides guaranteed, in-order message delivery for message streams that involve one sender and potentially multiple receivers. This guarantee is similar to the guarantees that TCP/IP provides for point-to-point message streams.

The set of core group members for which the View Synchrony Protocol is established is commonly referred to as a view. Views are unique in time and space. The act of adding or removing members from the view is called a view change. A view change is an important and relatively expensive synchronization point. It is also the point where synchronization, consistency and network issues are detected.

The View Synchrony Protocol is transparent to both components using the high availability manager framework and product administrators. However, disruptions in the View Synchrony Protocol might become visible, most notably when a boundary condition known as a view change occurs.


View changes

When a core group member starts, the core group transport and the associated default Discovery Protocol, default Failure Detection Protocol, and View Synchrony Protocol also start. The View Synchrony Protocol establishes an initial view containing only the local member. The View Synchrony Protocol is notified when the default Discovery Protocol establishes connections with other core group members. The view synchrony layer of the newly connected members then exchange state information. This information is used to determine if a new view can be formed. For example, 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 related to the current view must be completed. All messages 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.

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


View change messages

A view change is a complex multipart procedure and a number of messages are logged every time a view is changed. These messages indicate the stage of view change processing that is complete or is currently running.

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

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

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.anzioCell01\anzioCellManager01\dmgr).  The number of members in the new view is 2.
 DCSV1033I: DCS Stack DefaultCoreGroup at Member  anzioCell01\anzioCellManager01\dmgr: Confirmed all new view members in view  identifier (3:0.anzioCell01\anzioCellManager01\dmgr). View channel type is View|Ptp.

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

In this message:


Related concepts

  • Core group transports