Custodian Manager synchronization fails on some groups with Event ID 18, 28 and 34 errors.

Article:TECH152815  |  Created: 2011-02-07  |  Updated: 2013-06-05  |  Article URL http://www.symantec.com/docs/TECH152815
NOTE: If you are experiencing this particular known issue, we recommend that you Subscribe to receive email notification each time this article is updated. Subscribers will be the first to learn about any releases, status changes, workarounds or decisions made.
Article Type
Technical Solution


Environment

Issue



Custodian Manager synchronization fails on some groups with Event ID 18, 28 and 34 errors.


Error



Event ID 18:   

 

APP AT - Customer ID: 3 - A problem occurred formatting the event text. The event definition and insertion strings are:

An error has occured when initializing the TargetGroups. {0.EN_US} - {1.EN_US} (18)

---

[0] System.Data.ConstraintException: Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints.

at System.Data.DataSet.FailedEnableConstraints()

at System.Data.DataSet.EnableConstraints()

at System.Data.DataSet.set_EnforceConstraints(Boolean value)

at System.Data.Common.DataAdapter.Fill(DataTable[] dataTables, IDataReader dataReader, Int32 startRecord, Int32 maxRecords)

at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)

at System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)

at System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)

at KVS.Accelerator.AddressManager.TargetGroup.InternalGetDS(Int32 TargetGroupID, CaseType aCaseType, Boolean forSynchronisation, Boolean EscapeMembersLoad, Int32 NextIndex, Int32 ChunkSize)

 

 

Event ID 28:

 

APP AT - Customer ID: 3 - An error occured in EmployeeSynchroniser::SynchroniseGroupMembers. System.Exception: Value does not fall within the expected range.

at KVS.Accelerator.Server.CentralProfileSynchroniser.SynchroniseGroup(TargetGroupRow synchRow)

 

 

Event ID  34:  

 

APP AT - Customer ID: 3 - An error occured in ProfileSynchroniser::SynchroniseEmployeeProfile while retrieving properties. System.ArgumentException: Value does not fall within the expected range.

at ActiveDs.NameTranslateClass.Init(Int32 lnSetType, String bstrADsPath)

at KVS.Accelerator.Common.ADConnection._GetNameTranslateClass()

at KVS.Accelerator.Common.ADConnection.GetNameTranslateClass()

at KVS.Accelerator.Common.ADConnection.GetEntry(String principalLogin, String guid, String& modifiedLogin)

at KVS.Accelerator.ActiveDirectory.ADProfileSynchroniser.SynchroniseADGroup(TargetGroupRow& groupRow, StringCollection& groupEmailAddresses, StringCollection& groupDisplayAddresses, ManualResetEvent stopEvent, String& ADSyncError)

 


Environment



- Symantec Enterprise Vault (EV) and Discovery Accelerator (DA) 9.0 (Base)

- Microsoft Windows Server 2008 R2, 64-bit


Cause



An issue with Custodian Manager (CM) in Enterprise Vault (EV) Discovery Accelerator (DA) 9.0 synchronizing with Active Directory has been identified and resolved in DA 9.0 SP1.  The symptoms of this issue are

1) New or existing Active Directory Groups are not automatically added to Custodian Manager, even though the option is set to automatically synchronize all groups and members.

2) Manually creating a CM Group and synchronizing it against an AD Group succeeds in adding the current members, but will not add new members automatically (removing members automatically works).

3) Manually triggering a CM Group synchronization works to update the group membership with changed to the associated AD Group.

To confirm this synchronization issue:

1) Obtain a dtrace of the ADSynchroniser process on the DA server while performing an automatic AD synchronization.

  A) Log onto the DA server as the Vault Service Account (VSA).

  B) Open a Command Prompt, navigate to the Enterprise Vault installation folder (default path is 'C:\Program Files\Enterprise Vault) for 32-bit OS, 'C:\Program Files (x86)\Enterprise Vault' for 64-bit OS), then start a dtrace of the ADSynchroniser process.

  C) Open Task Manager and look in the Processes tab for the ADSynchroniser.exe process

   D) If the ADSynchroniser.exe process is present present, restart the Enterprise Vault Accelerator Manager Service (EVAMS) to get the AD synchronization process to start again from the beginning.

  E) If the ADSynchroniser.exe process is not present, access the Custodian Manager home page, then the Directory Synchronization page, then click the 'Synchronize now' button to kick off a new synchronization of the entire domain.

  F) Monitor the Enterprise Vault Event Log on the DA server for informational Event ID 546, with its Description field containing information similar to

APP AT - Customer ID: 3 - ADSynchroniser (PID = 3172) with arguments '3 1 ad' completed execution.

  G) Stop the dtrace and review the log for the following information:

- For Event ID 18 errors, search for 'Value does not fall' to find lines similar to -

--- (ADSynchroniser) <3792> EV-H {-} Exception: Error ADSync_ProfileSync_RetrieveError Info:{ACCELERATOREVENT.EN_US} {C3.EN_US} An error occured in ProfileSynchroniser::SynchroniseEmployeeProfile while retrieving properties. System.ArgumentException: Value does not fall within the expected range.|   at ActiveDs.NameTranslateClass.Init(Int32 lnSetType, String bstrADsPath)|   at KVS.Accelerator.Common.ADConnection._GetNameTranslateClass()|   at KVS.Accelerator.Common.ADConnection.GetNameTranslateClass()|   at KVS.Accelerator.Common.ADConnection.GetEntry(String principalLogin, String guid, String& modifiedLogin)|   at KVS.Accelerator.ActiveDirectory.ADProfileSynchroniser.SynchroniseADGroup(TargetGroupRow& groupRow, StringCollection& groupEmailAddresses, StringCollection& groupDisplayAddresses, ManualResetEvent stopEvent, String& ADSyncError) Diag: Type:System.Exception ST:
--- (ADSynchroniser) <3792> EV-H {-} Exception: Error ADSync_ProfileSync_ErrorOccured Info:{ACCELERATOREVENT.EN_US} {C3.EN_US} An error occured in EmployeeSynchroniser::SynchroniseGroupMembers. System.Exception: Value does not fall within the expected range.|   at KVS.Accelerator.Server.CentralProfileSynchroniser.SynchroniseGroup(TargetGroupRow synchRow) Diag: Type:System.Exception ST:
 

 - For Event ID 28 and 34 errors, search for 'An error occurred in PrifileSynchroniser::SynchroniseEmployeeProfile while retrieving properties' to find lines similar to -

--- (ADSynchroniser) <3792> EV-H {-} Exception: Error ADSync_ProfileSync_RetrieveError Info:{ACCELERATOREVENT.EN_US} {C3.EN_US} An error occured in ProfileSynchroniser::SynchroniseEmployeeProfile while retrieving properties. System.ArgumentException: Value does not fall within the expected range.|   at ActiveDs.NameTranslateClass.Init(Int32 lnSetType, String bstrADsPath)|   at KVS.Accelerator.Common.ADConnection._GetNameTranslateClass()|   at KVS.Accelerator.Common.ADConnection.GetNameTranslateClass()|   at KVS.Accelerator.Common.ADConnection.GetEntry(String principalLogin, String guid, String& modifiedLogin)|   at KVS.Accelerator.ActiveDirectory.ADProfileSynchroniser.SynchroniseADGroup(TargetGroupRow& groupRow, StringCollection& groupEmailAddresses, StringCollection& groupDisplayAddresses, ManualResetEvent stopEvent, String& ADSyncError) Diag: Type:System.Exception ST:
--- (ADSynchroniser) <3792> EV-H {-} Exception: Error ADSync_ProfileSync_ErrorOccured Info:{ACCELERATOREVENT.EN_US} {C3.EN_US} An error occured in EmployeeSynchroniser::SynchroniseGroupMembers. System.Exception: Value does not fall within the expected range.|   at KVS.Accelerator.Server.CentralProfileSynchroniser.SynchroniseGroup(TargetGroupRow synchRow) Diag: Type:System.Exception ST:
 


Solution



Workaround:

Implement one of the two possible workarounds.  Before implementing either workaround, the CM Groups with the issue must be identified.

To identify the Custodian Manager Groups causing the errors:

1) Obtain a dtrace of the ADSynchroniser process while the synchronization of groups is occurring as noted above.

2) Look through the dtrace log for all entries of "with errors"

--- a partial example of such an entry is

----- (ADSynchroniser) <7036> EV-H {-} {CENTRALPROFILESYNCHRONISER.EN_US} {C3.EN_US} Central_Sync: Synchronised group 'ADGroup' with errors

3) Note the group name to the left of "with errors" to determine the name of the group in Custodian Manager.  In the example above, the group name is "ADGroup".

4) Look in the lines above this entry to see if they contain lines matching those in the 'Cause' section above.

5) When those lines are found in the same thread (<7036> in the above example), then the group causing the errors has been identified.

Workaround 1 - Replace the Custodian Manager Group:

1) Locate the group in Custodian Manager's 'Manage Groups' page.

2) Select and delete the group.

3) Recreate the group and synchronize it against the appropriate group in Active Directory.

 

Workaround 2 - Correct the Custodian Manager synchronization information:

1) Locate the group in Custodian Manager's 'Manage Groups' page.

2) Select and edit the group.

3) Remove and replace the Active Directory Group's LDAP information (i.e., OU=My Users,DC=MyDomain,DC=local).

4) Click on the Synchronize button to confirm the group will synchronize, correcting the LDAP information if needed and synchronizing again.

5) Click the Save button to save the change after a successful synchronization.



This issue has been addressed as part of the following release:


Enterprise Vault 9.0.1 - Release Details
http://www.symantec.com/docs/TECH140373

Enterprise Vault 10.0 - Release Details
http://www.symantec.com/docs/TECH141422


Supplemental Materials

SourceETrack
Value2185046



Article URL http://www.symantec.com/docs/TECH152815


Terms of use for this information are found in Legal Notices