PingDirectory

Populate an empty sync destination topology

About this task

The following procedure uses the resync command to populate an empty Sync Destination topology for small datasets. For large deployments, use the bin/translate-ldif command.

In this example, assume that the Sync Destination topology has only the base entry (dc=example,dc=com) and the cn=Sync User entry. Perform the following steps to populate an empty Sync Destination:

Steps

  1. Run the resync command with the log file path and with the log level debug. Logging is located in logs/tools/resync.log and in logs/tools/resync-errors.log.

    $ bin/resync --pipe-name sun-to-ds-sync-pipe \
      --numPasses 1 \
      --logLevel debug
  2. Open the logs/resync-failed-DNs.log file in a text editor to locate the error and fix it. An entry cannot be created because the parent entry does not exist.

    # Entry '(see below)' was dropped because there was a failure at the
    resource:
    Failed to create entry uid=mlott,ou=People,dc=example,dc=com. Cause:
    LDAPException(resultCode=no such object, errorMessage='Entry
    uid=user.38,ou=People,dc=example,dc=com cannot be added because its parent
    entry ou=People,dc=example,dc=com does not exist in the server',
    matchedDN='dc=example,dc=com')
    (id=1893859385ResourceOperationFailedException.java:126 Build
    revision=4881)
    dn: uid=user.38,ou=People,dc=example,dc=com
  3. Rerun the resync command. The command creates the entries in the Sync Destination topology that are present in the Sync Source topology.

    $ bin/resync --pipe-name sun-to-ds-sync-pipe
    ...(output from each pass)...
    Status after completing all passes[20/Mar/2016:14:23:33 -0500]
    -----------------------------
    Source entries retrieved 160
    Entries in-sync 156
    Entries created 4
    Duration (seconds) 11
    
    Resync completed in 12 s.
    
    156 entries were in-sync, 0 entries were modified, 4 entries were created,
    0 entries are still out-of-sync, 0 entries are still missing, and 0
    entries could not be processed due to an error

    If importing a large amount of data into a PingDirectory server, run export-ldif and import-ldif on the newly populated backend for most efficient disk space use. If needed, run dsreplication initialize to propagate the efficient layout to additional replicas.