The max-backtrack-replication-latency property (part of the Sync Source configuration) sets the time period that PingDataSync will look for missed changes in the change log caused by 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. PingDataSync stops looking in the change log after it finds a change that is older than the maximum replication latency.

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

Normally, PingDataSync 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 PingDataSync 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 command.
  • 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"