Understanding how the sync_all_dns process works

Use the sync_all_dns process to keep your profiles data synchronized with changes to the LDAP directory.

The sync_all_dns process is a long running process comprised of multiple phases. As each phase of the sync_all_dns process runs, console output indicates current progress. The number of records in the LDAP source, and in the Profiles database, enable you to estimate the running time of the process.
Note: The properties mentioned in this topic reside in the profiles_tdi.properties file.

Temporary files are created during synchronization and stored in the directory denoted by the sync_updates_working_directory=sync_updates property. By default, the temporary files are deleted at the end of synchronization. If you want to keep the files or need to troubleshoot problems, set sync_updates_clean_temp_files=false to ensure that the temporary files are not deleted.

Phase 1

The first phase processes the database. Progress is output every 10,000 records including a timestamp.

Example:
CLFRN1275I: Begin to hash records in database.
CLFRN0028I: 20120806100604 Iterations: 10000.
CLFRN1269I: Finish hash records in database.

Phase 2

The second phase processes the source with the same progress indicators as Phase 1.

Example:
CLFRN1271I: Begin to hash records in source repository.
CLFRN0028I: 20120806110738 Iterations: 10000.
CLFRN0028I: 20120806110937 Iterations: 20000.
CLFRN0028I: 20120806111137 Iterations: 30000.
CLFRN1273I: Finish hash records in source repository.

Phase 3

The third phase performs a comparison between the data retrieved in Phase 1 and 2.

Example:
**********
CLFRN1268I: After processing partition 0, 3,772 records added to creates.ldiff; 1,947 records added to deletes.dbids.
**********
CLFRN1268I: After processing partition 1, 3,823 records added to creates.ldiff; 1,951 records added to deletes.dbids.
**********
...
**********

This comparison determines if an operation should occur on a particular record from the LDAP source or from the Profiles database.

Because the operation is not complete at this point in the processing, the numbers listed in this phase do not always match the final phase numbers.

The processing is delimited by the number of partitions specified by the sync_updates_hash_partitions=10 property.

The creates.ldiff and deletes.dbids files included in this example are stored in the location specified by the sync_updates_working_directory=sync_updates property.

Phase 4

The fourth phase performs the configured delete or inactivate operation using the deletes.dbids file from Phase 3 for input.

Example:
CLFRN1270I: Begin processing the data to be deleted or inactivated.
CLFRN0028I: 20120806122644 Iterations: 10000.
CLFRN1272I: Finish processing the data to be deleted or inactivated.
The operation is determined by the following properties:
  • perform_deletion_or_inactivate_for_sync - If the value of this property is true, then the system looks at the sync_delete_or_inactivate property to determine which action to perform. If the value of this property is false, then the system performs no action.
  • sync_delete_or_inactivate – Determines the action to be performed if a record is no longer found in the source LDAP but is present in the Profiles database. The value must be either delete or inactivate.
    Note: If you want to perform additional processing during this phase, you can create and configure a custom delete option. See Customizing the logic used for the delete operation for details.
  • sync_updates_double_check=true
  • sync_check_if_remove={name-of-your-adapter.xml}:/AssemblyLines/{name-of-your-custom-delete-al}

Phase 5

The fifth phase performs the add or update operations, using the create.ldiffs file from Phase 3 for input.

Example:
CLFRN1276I: Begin processing the data to be added.
CLFRN0028I: 20120806124006 Iterations: 10000.
CLFRN0028I: 20120806124513 Iterations: 20000.
CLFRN0028I: 20120806125021 Iterations: 30000.
CLFRN1274I: Finish processing the data to be added.

Summary phase

A summary is displayed at the end of the sync_all_dns process.

Example:
CLFRN0037I: After synchronization, added or modified records is 37971, deleted or inactivated record
s is 19551, unchanged records 0, and failure records is 0. 
Lists of the users for each of the operations are stored in the following files in the solution directory. You can examine these files when the synchronization process has completed. These files are not considered temporary and are not removed at the end of the synchronization process.
  • employee.adds – These records were added to the database
  • employee.delete – These records were deleted or inactivated in the database
  • employee.error – There was an error processing these records
  • employee.skip – These records were not changed in the database
  • employee.updates – These records were updated in the database