Replication Assurance Policy

A Replication Assurance Policy is used to specify the local and remote replication assurance levels and a timeout to use for update operations. Optionally, request and connection criteria can be configured in the policy to allow matching a policy to requests that satisfy such criteria.

Each operation request will be associated with exactly one Replication Assurance Policy. The server can be configured with zero or more Replication Assurance Policies to match operations against. When a client request comes in, the server iterates through the list of enabled policies according to their evaluation-order-indexes. The first policy that matches the request and connection criteria specified in the assurance policy is associated with the operation. Policies with a more restrictive set of criteria should have a lower evaluation-order-index so they are evaluate first, and policies that are less restrictive, including one with no connection or request criteria which will match all operations, should have the highest evaluation-order-index. If no match is found, a default policy with no replication assurances is associated.

There is no requirement that the servers in a replication topology share a homogeneous set of policies. Because the assurance levels associated with an operation are based on the policy configuration at the server that receives the request from the client, server-level granularity of such settings are allowed, although this is typically not the case.

Relations from This Component Properties dsconfig Usage

Relations from This Component

The following components have a direct aggregation relation from Replication Assurance Policies:

Properties

The properties supported by this managed object are as follows:


Basic Properties: Advanced Properties:
 description  None
 enabled
 evaluation-order-index
 local-level
 remote-level
 timeout
 connection-criteria
 request-criteria

Basic Properties

description

Description
Description of the Replication Assurance Policy.
Default Value
None
Allowed Values
A string
Multi-Valued
No
Required
No
Admin Action Required
None. Modification requires no further action

enabled

Description
Indicates whether this Replication Assurance Policy is enabled for use in the server. If a Replication Assurance Policy is disabled, then no new operations will be associated with it.
Default Value
true
Allowed Values
true
false
Multi-Valued
No
Required
Yes
Admin Action Required
None. Modification requires no further action

evaluation-order-index

Description
When multiple Replication Assurance Policies are defined, this property determines the evaluation order for finding a Replication Assurance Policy match against an operation. Policies are evaluated based on this index from least to greatest. Values of this property must be unique but not necessarily contiguous.
Default Value
None
Allowed Values
An integer value. Lower limit is 0. Upper limit is 2147483647 .
Multi-Valued
No
Required
Yes
Admin Action Required
None. Modification requires no further action

local-level

Description
Specifies the assurance level used to replicate to local servers. A local server is defined as one with the same value for the location setting in the global configuration.

The local-level must be set to an assurance level at least as strict as the remote-level. In other words, if remote-level is set to "received-any-remote-location" or "received-all-remote-locations", then local-level must be either "received-any-server" or "processed-all-servers". If remote-level is "processed-all-remote-servers", then local-level must be "processed-all-servers".

Default Value
none
Allowed Values
none - Replication to any local server is not assured.

received-any-server - At least one available local server must receive a replication update before a response is sent to the client. If the client receives a response and the server on which the changed was made subsequently fails, then the change is guaranteed to have propagated to at least one other local server before the failure occurred. The effect being that the update will survive and propagate through the topology, regardless of the originating server failure.

processed-all-servers - All available local servers must complete replay of the replication update before the response is sent to the client. If the client receives a response and the server on which the changed was made subsequently fails, then the change is guaranteed to have propagated to, and replayed on, all of the other available local servers before the failure occurred. The effect being that the update will be visible to all clients that access local servers after the response is sent to the client that originated the update, regardless of the originating server failure. If a singular server is enabled, or only one server is available for a particular location, processed-all-servers will never be satisfied for that replica and will return with the value of false.
Multi-Valued
No
Required
Yes
Admin Action Required
None. Modification requires no further action

remote-level

Description
Specifies the assurance level used to replicate to remote servers. A remote server is defined as one with a different value for the location setting in the global configuration.
Default Value
none
Allowed Values
none - Replication to any server at any remote location is not assured.

received-any-remote-location - At least one server at any available remote location must receive a replication update before a response is sent to the client. If the client receives a response and the server on which the changed was made subsequently fails, then the change is guaranteed to have propagated to at least one other remote server before the failure occurred. The effect being that the update will survive and propagate through the topology, regardless of the originating server failure.

received-all-remote-locations - At least one server at each available location must receive a replication before the response is sent to the client. If the client receives a response and the server on which the changed was made subsequently fails, then the change is guaranteed to have propagated to at least one remote server at each location before the failure occurred. The effect being that the update will survive and propagate through the topology, regardless of the originating server failure.

processed-all-remote-servers - All available servers at all locations must complete replay of the replication update before the response is sent to the client. If the client receives a response and the server on which the changed was made subsequently fails, then the change is guaranteed to have propagated to, and replayed on, all of the other available remote servers before the failure occurred. The effect being that the update will be visible to all clients that access remote servers after the response is sent to the client that originated the update, regardless of the originating server failure. If a singular server is enabled, or only one server is available for a particular location, processed-all-remote-servers will never be satisfied for that replica and will return with the value of false.
Multi-Valued
No
Required
Yes
Admin Action Required
None. Modification requires no further action

timeout

Description
Specifies the maximum length of time to wait for the replication assurance requirements to be met before timing out and replying to the client.
Default Value
None
Allowed Values
A duration. Lower limit is 10 milliseconds.
Multi-Valued
No
Required
Yes
Admin Action Required
None. Modification requires no further action

connection-criteria

Description
Specifies a connection criteria used to indicate which operations from clients matching this criteria use this policy. If both a connection criteria and a request criteria are specified for a policy, then both must match an operation for the policy to be assigned.
Default Value
None
Allowed Values
The DN of any Connection Criteria.
Multi-Valued
No
Required
No
Admin Action Required
None. Modification requires no further action

request-criteria

Description
Specifies a request criteria used to indicate which operations from clients matching this criteria use this policy. If both a connection criteria and a request criteria are specified for a policy, then both must match an operation for the policy to be assigned.
Default Value
None
Allowed Values
The DN of any Request Criteria.
Multi-Valued
No
Required
No
Admin Action Required
None. Modification requires no further action


dsconfig Usage

To list the configured Replication Assurance Policies:

dsconfig list-replication-assurance-policies
     [--property {propertyName}] ...

To view the configuration for an existing Replication Assurance Policy:

dsconfig get-replication-assurance-policy-prop
     --policy-name {name}
     [--tab-delimited]
     [--script-friendly]
     [--property {propertyName}] ...

To update the configuration for an existing Replication Assurance Policy:

dsconfig set-replication-assurance-policy-prop
     --policy-name {name}
     (--set|--add|--remove) {propertyName}:{propertyValue}
     [(--set|--add|--remove) {propertyName}:{propertyValue}] ...

To create a new Replication Assurance Policy:

dsconfig create-replication-assurance-policy
     --policy-name {name}
     --set evaluation-order-index:{propertyValue}
     --set timeout:{propertyValue}
     [--set {propertyName}:{propertyValue}] ...

To delete an existing Replication Assurance Policy:

dsconfig delete-replication-assurance-policy
     --policy-name {name}