The max-backtrack-replication-latency property (part of the Sync Source configuration) sets the time period that PingDirectory Server will look for missed changes in the change log due to replication delays. The property should be set to a conservative upper-bound of the maximum replication delay between two servers in the topology. A value of zero implies that there is no limit on the replication latency. The default value is two hours. PingDirectory Server stops looking in the change log once it finds a change that is older than the maximum replication latency than the last change it processed on the failed server.

For example, after failing over to another server, PingDirectory Server must look through the new server’s change log to find the equivalent place to begin synchronizing changes.

Normally, PingDirectory Server can successfully backtrack with only a few queries of the directory, but in some situations, it might have to look further back through the change log to make sure that no changes were missed. Because the changes can come from a variety of sources (replication, synchronization, and over LDAP), the replicated changes between directory servers are interleaved in each change log. When PingDirectory Server fails over between servers, it has to backtrack to figure out where synchronization can safely pick up the latest changes.

Backtracking occurs until the following:

  • The server determines that there is no previous change log state available for any source servers, so it must start at the beginning of the change log.
  • The server finds the last processed replication change sequence number (CSN) from the last time it was connected to that replica, if at all. This process is similar to the set- startpoint functionality on the realtime-sync tool.
  • The server finds the last processed replication CSN from every replica that has produced a change so far, and it determines that each change entry in the next oldest batch of changes has already been processed.
  • The server finds a change that is separated by more than a certain duration (specified by the max-backtrack-replication-latency property) from the most recently processed change.

The following command changes the maximum backtracking from two hours to three hours.

$ bin/dsconfig set-sync-source-prop \
  --source-name source1 \
  --set "max-backtrack-replication-latency:3 h"