PingDirectory

Replication terminology

The following terms have specific definitions as they apply to replication.

Replication Terminology
Term Description

Assured Replication

Data is guaranteed to replicate before the response is returned to the client.

This is useful for applications that require immediate access to replicated data or require data consistency over response time.

Change Number

A 64-bit number used to consistently order replication updates across the entire topology.

It is composed of 3 fields:

  • The timestamp of the update in milliseconds since 00:00:00 UTC, January 1, 1970

  • The replica ID

  • The sequence number

Conflict

Client updates made at different replicas affecting the same entry might be found in conflict when the updates are replayed at another replica.

The Change Number of each update allows most of these conflicts to be resolved automatically. Certain updates, such as adding an entry with different attribute values at two servers simultaneously, result in conflicts that are flagged for manual resolution.

Eventual Consistency

When not using assured replication, recent updates from LDAP clients are not immediately present at all servers.

Out-of-sync data will eventually be synchronized and will be consistent on all servers. The network latency typically controls how long a given update takes to replicate.

Global Administrator

The administrative user with full rights to manage the replication topology.

The user is created at the time of replication enablement between two non-replicating servers and thereafter copied to newly-enabled servers. The replication command-line utility expects the user name of the Global Administrator (by default, admin).

The user is stored in cn=Topology Admin Users,cn=Topology,cn=config.

Historical Data

Historical Data are records of attribute value changes as a result of an LDAP Modify operation.

Historical data are stored in the ds-sync-hist attribute of the target entry. This information allows replication to resolve conflicts from simultaneous LDAP Modify operations automatically.

Location

The collection of servers that can have similar performance characteristics when accessed from this PingDirectory server or reside in the same data center or city.

A separate location setting can be defined for each data center, such as Austin, London, Chicago, and so forth. Location settings are used in the selection of the WAN Gateway server.

Modify Conflict

A conflict between two LDAP Modify operations.

Modify conflicts are automatically resolved.

Naming Conflict

Any conflict other than Modify Conflicts.

Naming conflicts typically include an operation that changes the DN of the target entry, creates an entry, or deletes an entry at one replica.

Replica

The component in the PingDirectory server that handles interaction with a single replication domain.

For example, the dc=example,dc=com replication domain within the userRoot backend is a replica.

Replica ID

The unique identifier of a replica.

Replica ID is automatically set in the corresponding Replication Domain configuration entry at each participating server. The replica ID identifies the source of each update in the replication topology.

Replica State

A list of the most recent change numbers of replication updates that have been applied to a replica.

Each replica in the state can have a maximum of one change number. The Replication Server component uses the replica state to determine which updates the Replica has not yet received.

Replication

An automated background process that pushes PingDirectory server data changes to all other replicas.

Replication Changelog

A backend maintained independently by each replication server that records updates from each replica.

This backend is distinct from the LDAP Changelog, and the two should not be confused. The main distinction is as follows:

  • The LDAP Changelog is the external changelog that clients can access. It is located at <server-root>/db/changelog.

  • The Replication Changelog Backend is the changelog that replication servers use. It is located at <server-root>/changelogDB, and is not accessible by clients or server extensions.

Replication Domain

The data configured for replication as defined by the base DN.

Updates to entries at and below the base DN will be replicated.

Replication Replay

When a replica locally applies the update received via a replication server.

Replication Server

A component within the PingDirectory server process that is responsible for propagating server data changes to and from replicas.

Each PingDirectory server instance participating in replication is also running a replication server.

Replication Server ID

The unique identifier of a replication server.

The replication server ID is set automatically in its configuration object at each server in the replication topology.

This identifier is used in the connection management code of the replication servers.

Replication Server State

A list of the most recent change numbers of replication updates that have been processed by a replication server.

Each replica in the topology can have a maximum of one change number.

The Replication Server State is used to determine which updates need to be sent to other replication servers. Similarly, the replica can use the Replication Server State to identify the set of updates to send to the replication server.

Sequence Number

A field in the change number that indicates the sequence of the client updates at a particular replica.

The sequence number increases incrementally for every update at the replica. The initial value of the sequence number is 1. The number is stored as a 32-bit integer, but only positive values are used. The sequence number can roll over.

WAN Gateway

The designated replication server that assumes the WAN Gateway role within a collection of servers that are defined with identical location settings.

Replication update messages between servers at different locations are routed through WAN gateways.

The WAN Gateway role is assigned automatically by the protocol based on the server’s WAN Gateway Priority setting. If the WAN Gateway server is down for any reason, the server with the next highest WAN Gateway Priority will dynamically assume the WAN Gateway role.

WAN Gateway Priority

The configuration setting that determines which replication server assumes the WAN Gateway role.

The replication server with the highest WAN Gateway Priority in a location assumes the role of the WAN Gateway.

Servers can have a WAN Gateway Priority value from 1 to 10, with 1 being the highest priority. A server with a WAN Gateway priority value of 0 will never be a gateway.