Configuring missing replication changes
You can configure missing replication changes to prevent server lockdowns that are caused by missing changes. The configuration uses the missing-changes-policy
enumeration configuration property.
Configuring missing replication changes makes it easier to:
-
Recover from difficult cases of missing changes lockdowns.
-
Configure replication to favor up-time at the expense of data integrity. Missing changes will optionally be ignored and replication will continue.
There can only be one instance of |
Missing change types and actions
Missing change types
The missing change types are described in the following table:
Missing change type | Description | ||
---|---|---|---|
|
For server-to-server connections, a contributing replica is found to have missing changes and the missing changes type is not This can include replicas that are deleted but not obsolete, as there isn’t sufficient information to determine which server hosted the replica. Also, if the replica has been deleted, it’s unlikely that a server will have more recent changes to fix the missing changes lockdown. |
||
|
For server-to-server connections, a contributing replica is found to have missing changes and the replica is:
|
||
|
The contributing replica with missing changes is obsolete based on the existing definition of obsolete (deleted and all changes older than the purge delay). This change type is only applicable when the global configuration property |
||
|
For local replicas connecting to the replication server, a replica’s backend previously had missing changes. This is indicated by a null change number. |
||
|
For local replicas connecting to the replication server, a replica is missing changes relative to its local replication server. This can happen when a backend is restored from an older backup. |
Missing change actions
The missing change actions are described in the following table:
Missing change action | Description |
---|---|
|
Raise an alert but ignore the missing change and continue. The missing changes will be lost. For the PREVIOUS missing changes type, the persistent missing changes state (null change number) will be permanently cleared. |
|
Raise an alert and pause update sending for the particular replica that is missing changes from the source server connected to, but otherwise continue replicating data. The pause will remain in effect until the connection for the replica is restarted. |
|
Use the value from the corresponding missing changes type configuration property on the replication server. |
Supported configurations and examples
The allowed missing-changes-policy
values are described in the following table. Examples of these values used with the dsconfig
command are also provided.
Value | Description | ||
---|---|---|---|
|
Enter the missing changes lockdown state in response to missing changes as much as possible. This strongly favors data integrity over availability. |
||
|
Enter the missing changes lockdown state in response to missing changes where it makes sense for most customers. This balances data integrity and availability and is the default policy. |
||
|
Provide increased availability when compared to |
||
|
Continue in response to missing changes lockdown as much as possible. This strongly favors availability over data integrity. |
||
|
Indicates that the replication server’s configuration should be used. This makes it possible to have one configuration per replication server that can optionally be overridden for each domain.
|
Examples
For maximum integrity, which was the behavior prior to configurable missing changes, the MAXIMUM_INTEGRITY
missing changes policy can be selected for the replication server:
dsconfig set-replication-server-prop --provider-name "Multimaster Synchronization" --set missing-changes-policy:maximum-integrity
For behavior that is similar to MAXIMUM_INTEGRITY
except that missing changes lockdown is avoided for indirect missing changes, the FAVOR_INTEGRITY
missing changes policy can be selected for the replication server. This is the default missing changes policy:
dsconfig set-replication-server-prop --provider-name "Multimaster Synchronization" --set missing-changes-policy:favor-integrity
To keep the default FAVOR_INTEGRITY
missing changes policy for all domains except dc=example,dc=com
, where MAXIMUM_AVAILABILITY
is to be used:
dsconfig set-replication-domain-prop --provider-name "Multimaster Synchronization" --domain-name dc_example_dc_com --set missing-changes-policy:maximum-availability