General Tab: Logging Orphans (and deleting orphans)2020-07-29 11:03:30
AD LDS ADAM Troubleshooting UnitySync
This article discusses the features to identify and delete orphans using your UnitySync v3.x connection.
This article also pertains to v2.x in so far as the method to enable and review output from Log Orphans. However, the resulting orphans.txt format is different and the delete orphans feature itself is not available in v2.x.
What is an Orphan?
Occasionally, your Destination sync container may contain contacts that no longer appear on the Source. We call these objects “orphans”. An orphan is any object that exists in the Destination sync container but is not within the scope of the discovery of the Source.
Most often, these are objects that were previously synced by UnitySync, then deleted on the Source but the deletion did not also occur on the Destination. NOTE: The orphan will be deleted, even if it wasn’t created by UnitySync.
Sometimes, orphans occur when you have opted for Delete Processing: Ignore Deletes on the Destination tab. (Even when you choose to Process Deletes on the Destination tab, a delete of an object is only attempted once. If the delete cannot occur, for whatever reason, when it is attempted, it will not be attempted again).
As of UnitySync v2.0, if you select the General tab option to ‘Log orphans after Synchronization’ The Sync phase will identify orphans for you, producing a file that contains the DN’s of all orphaned objects. A list of orphans is also included just above the Run Summary in your sync log.
How do I enable Log Orphans on Sync?
In your connection, on the General tab, check the box to Log Orphans on Sync and Save.
Run a Discovery and Sync on the connection. The sync will run as usual, orphans will be listed in the sync log, AND a file is generated: \Connections\YourConnectionName\orphans.txt
Review the orphan.txt file. The full DN for each orphan is on single line.
What can I do with Orphans.txt?
The full DN for each orphan is on single line.
To manually delete the orphans, review Orphans.txt, determine if all, or only some, are appropriate to delete. Then you can manually delete the appropriate objects from the destination.
Alternatively to manually deleting the orphans, there is a feature allowing UnitySync to batch delete ALL DNs in the orphans.txt file. While this delete orphans feature is available in v3.0, the instructions remain undocumented. (Undocumented due to the fact it allows a connection to delete destination objects not currently controlled by the connection.
So please contact Technical Support Team and we can provide assistance with the delete orphans feature.
IMPORTANT NOTE: The information in ophans.txt is the comparison of database files of the current connection to all the objects that exist in the destination Sync container. This means, if you have manually created contacts, OR more than one connection syncs to the same Destination Sync Container, each connection’s Log Orphans function will identify the objects that belong to the other connection as orphans. This can be avoided by following our best practices guidance on creating connections which is that each connection should point to a unique Sync OU. And do not manually create objects within the Sync OU.
Note About v2.0 usage of Log Orphans The in v2.x, If you use orphans.txt and ldifde (or other LDAP utilities) to process the deletes with UnitySync, the orphans.txt generated by v3.0 is NOT compatible with your ldifde solution. Please contact our Technical Support Team for guidance.
Recommendation: We do not recommend that you enable orphan logging on all syncs. Running orphan check on every sync will slow down your connection. Instead, only run the orphan check when you know or suspect your have orphaned objects on your Destination that you want to identify and/or delete.