A quick tour of synchronizing disconnected replicas

This topic applies to ArcGIS for Desktop Standard and ArcGIS for Desktop Advanced only.

For replicas in a disconnected environment, synchronization is achieved through a process of manually exchanging messages between replicas.

Two types of messages can be exchanged: data change messages and acknowledgment messages. Data change messages contain data changes, while acknowledgment messages acknowledge the receipt of data change messages. Replicas that are data senders send data change messages, while replicas that are data receivers send acknowledgment messages. See disconnected synchronization for more information.

NoteNote:
The import phase of the synchronization process occurs within a transaction. The second phase of a synchronization includes a reconcile operation, which also occurs in a transaction. Resources needed, such as undo space or logical log files, vary with the number of changes to be synchronized. If the import phase completes but the reconcile phase results in an error, the replica will appear as if in conflict, and you can later go in and complete the reconcile operation manually.

Exporting data change messages

Data changes include new data changes and unacknowledged data changes. New changes are any inserts, updates, and deletes applied to the replica version since the last data change message was exported. Unacknowledged data changes include previously exported changes for which you have not received an acknowledgment. There are two commands available to export data change messages:

Exporting acknowledgment messages

An acknowledgment message acknowledges the receipt of data changes from the relative replica. Unless the relative replica receives an acknowledgment, it will resend the data changes. Adopting the practice of regularly sending and importing acknowledgment messages prevents you from having to resend changes. The export acknowledgment message command can be used to export acknowledgment messages.

Importing messages

The import message command can import either data change messages or acknowledgment messages. Importing an acknowledgment message updates a replica's metadata such that it knows what changes to include in the next export. Importing a data change message applies data changes from the relative replica and also updates the replica's metadata.

Reconcile options

When importing a data change message, the synchronization version and the replica version are reconciled. During this reconcile operation, conflicts may occur. Before importing the message, you can choose a reconcile policy to define how to handle conflicts.

Learn more about Reviewing conflicts

Reconcile policies include the following:

  • Manual—With this policy, if a conflict occurs, the reconcile operation is aborted, and the replica is marked as in conflict. This gives you an opportunity to perform the reconcile operation afterwards either manually or by running some custom reconcile code. Once the data is reconciled and the changes are posted to the replica version, the replica is no longer in conflict. While the replica is in conflict, it can continue to receive changes but cannot send changes.
  • In favor of the database—In this case, the representation of the database importing the changes is used over the changes in the delta file if there is a conflict. Since the conflicts are resolved automatically, the replica is never in a conflict state after synchronizing with this policy.
  • In favor of the imported changes—Here, the representation defined by the imported changes are used over the replica's representation automatically if there is a conflict. Since the conflicts are resolved automatically, the replica is never in a conflict state after synchronizing with this policy.

The default is the option that favors the parent replica. Therefore, if importing changes on the child replica, the default is in favor of the imported changes. If importing changes on the parent replica, the default is in favor of the database.

Note that the reconcile options are similar to those offered for synchronizing connected replicas.

Defining Conflicts

You can also choose between column level and row level conflict detection for this reconcile operation.

Learn more about Reconciling a version.

Related Topics

7/30/2013