Error - Could not get Custodian for AddressOwnerID :

Article:TECH157368  |  Created: 2011-04-04  |  Updated: 2012-06-20  |  Article URL http://www.symantec.com/docs/TECH157368
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

Product(s)

Environment

Problem



Attempting to access search criteria throws error "Could not get Custodian for AddressOwnerID :" in Enterprise Vault (EV) Discovery Accelerator (DA) 9.x or does not change the screen to display anything different.


Error



In DA Client:

- Could not get Custodian for AddressOwnerID :

- or, the display will not change at all.

In a Client Trace Log:

Date Time AM/PM [ACD] <7292> : ClientChannelSink.SyncProcessMessage
- ClientChannelSink SyncProcessMessage !!ERROR!!: URI:
tcp://c1eml056:8086/RBO_searchTool -- Method: GetSearchTemplate --
Error: Could not get Custodian for AddressOwnerID :188
Date Time AM/PM [ACD] <7292> : TT - [  61ms] GetSearchTemplate
(caseID=76,searchID=974)
Date Time AM/PM [ACD] <7292> : MiddleTierAccessBase.HandleException
- HandlingInstanceID: 99a8cb8d-7013-4aa3-8fb0-66701f3b9b71
"An exception of type Accelerator.Client.Common.HandledException occurred
and was caught."
Message : Could not get Custodian for AddressOwnerID :15\r\n\r\nUser:\t
\tevlab\z_vaultadmin\r\nCustomer:\t2\r\nServer:\t\tlocalhost\r\nDomain:
\t\tAccelerator Client Domain\r\nStack:\t\tMiddleTierAccessBase.
HandleException\r\n\r\nInner exception:\r\n
Server stack trace:
   at KVS.Accelerator.Web.BO.BO_SearchTool2.AddCustodiansAndCustodianGroupsToTargetsDS
     (TargetsAndTargetGroupsDS custodiansCurrentInfo, List`1 custodianIDs, List`1
     custodianGroupIDs, TargetsAndTargetGroupsDS targetsDS)
   at KVS.Accelerator.Web.BO.BO_SearchTool2.ParseEmailAddresses(String Emails, Boolean
     IgnoreError, TargetsAndTargetGroupsDS custodiansCurrentInfo, List`1 custodianIDs,
     List`1 custodianGroupIDs, TargetsAndTargetGroupsDS& targetsDS, List`1& addresses)
   at KVS.Accelerator.Web.BO.BO_SearchTool2.InitFromDS
    (SearchCriteriaDS aSearchCriteriaDS)
   at KVS.Accelerator.Web.BO.BO_SearchTool2.GetSearchTemplate
    (Int32 caseID, Int32 searchID)
   at KVS.Accelerator.RBO.RBO_SearchTool2.GetSearchTemplate
    (Int32 caseID, Int32 searchID)
   at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage
    (IntPtr md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext,
    Object[]& outArgs)
   at System.Runtime.Remoting.Messaging.StackBuilderSink.PrivateProcessMessage
    (RuntimeMethodHandle md, Object[] args, Object server, Int32 methodPtr,
    Boolean fExecuteInContext, Object[]& outArgs)
   at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage
    (IMessage msg, Int32 methodPtr, Boolean fExecuteInContext)
Exception rethrown at [0]:
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage
    (IMessage reqMsg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke
    (MessageData& msgData, Int32 type)
   at KVS.Accelerator.Interfaces.IRBO_SearchTool2.GetSearchTemplate
    (Int32 CaseID, Int32 searchID)
   at Accelerator.Client.MiddleTierAccess.SearchService.GetSearchTemplate
    (Int32 caseID, Int32 searchID, Boolean isDiscovery)
Date Time AM/PM [ACD] <7292> : App.App_DispatcherUnhandledException
    - HandlingInstanceID: 11646186-8d22-4950-97e3-dc663ded3949
"An exception of type Accelerator.Client.Common.HandledException occurred
    and was caught."
Message : Could not get Custodian for AddressOwnerID :188\r\n\r\nUser:
    \t\tevlab\z_vaultadmin\r\nCustomer:\t2\r\nServer:\t\tlocalhost\r\nDomain:
    \t\tAccelerator Client Domain\r\nStack:
    \t\tApp.App_DispatcherUnhandledException\r\n\r\nInner exception:\r\n
Server stack trace:
   at KVS.Accelerator.Web.BO.BO_SearchTool2.AddCustodiansAndCustodianGroupsToTargetsDS
    (TargetsAndTargetGroupsDS custodiansCurrentInfo, List`1 custodianIDs,
    List`1 custodianGroupIDs, TargetsAndTargetGroupsDS targetsDS)
   at KVS.Accelerator.Web.BO.BO_SearchTool2.ParseEmailAddresses
    (String Emails, Boolean IgnoreError,
    TargetsAndTargetGroupsDS custodiansCurrentInfo,
    List`1 custodianIDs, List`1 custodianGroupIDs, TargetsAndTargetGroupsDS& targetsDS,
    List`1& addresses)
   at KVS.Accelerator.Web.BO.BO_SearchTool2.InitFromDS
    (SearchCriteriaDS aSearchCriteriaDS)
   at KVS.Accelerator.Web.BO.BO_SearchTool2.GetSearchTemplate
    (Int32 caseID, Int32 searchID)
   at KVS.Accelerator.RBO.RBO_SearchTool2.GetSearchTemplate
    (Int32 caseID, Int32 searchID)
   at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage
    (IntPtr md, Object[] args, Object server, Int32 methodPtr,
    Boolean fExecuteInContext, Object[]& outArgs)
   at System.Runtime.Remoting.Messaging.StackBuilderSink.PrivateProcessMessage
    (RuntimeMethodHandle md, Object[] args, Object server, Int32 methodPtr,
    Boolean fExecuteInContext, Object[]& outArgs)
   at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage
    (IMessage msg, Int32 methodPtr, Boolean fExecuteInContext)
Exception rethrown at [0]:
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage
    (IMessage reqMsg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke
    (MessageData& msgData, Int32 type)
   at KVS.Accelerator.Interfaces.IRBO_SearchTool2.GetSearchTemplate
    (Int32 CaseID, Int32 searchID)
   at Accelerator.Client.MiddleTierAccess.SearchService.GetSearchTemplate
    (Int32 caseID, Int32 searchID, Boolean isDiscovery)
   at Accelerator.Modules.SearchModule.Model.SearchModel.GetSearchTemplate
    (Int32 caseID, Int32 searchID, Boolean isDiscovery)
   at Accelerator.Modules.SearchModule.Views.SearchBrowsePresenter.ExamineSearch
    (BrowseableSearchEntity bse)
   at Accelerator.Modules.SearchModule.Views.SearchBrowseView.HandleDoubleClick
    (Object source, RoutedEventArgs e)
   at System.Windows.RoutedEventHandlerInfo.InvokeHandler
    (Object target, RoutedEventArgs routedEventArgs)
   at System.Windows.EventRoute.InvokeHandlersImpl
    (Object source, RoutedEventArgs args, Boolean reRaised)
   at System.Windows.UIElement.RaiseEventImpl
    (DependencyObject sender, RoutedEventArgs args)
   at System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
   at System.Windows.Controls.Control.OnMouseDoubleClick
    (MouseButtonEventArgs e)
   at System.Windows.Controls.Control.HandleDoubleClick
    (Object sender, MouseButtonEventArgs e)
   at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler
    (Delegate genericHandler, Object genericTarget)
   at System.Windows.RoutedEventArgs.InvokeHandler
    (Delegate handler, Object target)
   at System.Windows.RoutedEventHandlerInfo.InvokeHandler
    (Object target, RoutedEventArgs routedEventArgs)
   at System.Windows.EventRoute.InvokeHandlersImpl
    (Object source, RoutedEventArgs args, Boolean reRaised)
   at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender,
     RoutedEventArgs args, RoutedEvent newEvent)
   at System.Windows.UIElement.CrackMouseButtonEventAndReRaiseEvent
    (DependencyObject sender, MouseButtonEventArgs e)
   at System.Windows.UIElement.OnMouseDownThunk
    (Object sender, MouseButtonEventArgs e)
   at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler
    (Delegate genericHandler, Object genericTarget)
   at System.Windows.RoutedEventArgs.InvokeHandler
    (Delegate handler, Object target)
   at System.Windows.RoutedEventHandlerInfo.InvokeHandler
    (Object target, RoutedEventArgs routedEventArgs)
   at System.Windows.EventRoute.InvokeHandlersImpl
    (Object source, RoutedEventArgs args, Boolean reRaised)
   at System.Windows.UIElement.RaiseEventImpl
    (DependencyObject sender, RoutedEventArgs args)
   at System.Windows.UIElement.RaiseEvent
    (RoutedEventArgs args, Boolean trusted)
   at System.Windows.Input.InputManager.ProcessStagingArea()
   at System.Windows.Input.InputManager.ProcessInput
    (InputEventArgs input)
   at System.Windows.Input.InputProviderSite.ReportInput
    (InputReport inputReport)
   at System.Windows.Interop.HwndMouseInputProvider.ReportInput
    (IntPtr hwnd, InputMode mode, Int32 timestamp,
    RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
   at System.Windows.Interop.HwndMouseInputProvider.FilterMessage
    (IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at System.Windows.Interop.HwndSource.InputFilterMessage
    (IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam,
     IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall
    (Delegate callback, Object args, Boolean isSingleParameter)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen
    (Object source, Delegate callback, Object args,
     Boolean isSingleParameter, Delegate catchHandler)
 

In a Dtrace log from the Discovery Accelerator Server - formatted for easier reading:

(AcceleratorService) <8668> EV-H {BO_SearchTool2} Exception: Index was outside the bounds of the array. Info:{C34.EN_US} Exception while trying to get Primary Value for Custodian with Id=188, stored Primary Value=User, Joe  Diag: Type:System.IndexOutOfRangeException ST:
 
   at KVS.Accelerator.Web.BO.BO_SearchTool2.GetCustodianPrimary(Int32 addressOwnerId, TargetsAndTargetGroupsDS custodiansCurrentInfo, String savedPrimary)
(AcceleratorService) <8668> EV-H {RBO_SearchTool2} Exception: Could not get Custodian for AddressOwnerID :188 Info:{C34.EN_US} RBO method failed Diag: Type:System.Exception ST:
   at KVS.Accelerator.Web.BO.BO_SearchTool2.AddCustodiansAndCustodianGroupsToTargetsDS(TargetsAndTargetGroupsDS custodiansCurrentInfo, List`1 custodianIDs, List`1 custodianGroupIDs, TargetsAndTargetGroupsDS targetsDS)|
   at KVS.Accelerator.Web.BO.BO_SearchTool2.ParseEmailAddresses(String Emails, Boolean IgnoreError, TargetsAndTargetGroupsDS custodiansCurrentInfo, List`1 custodianIDs, List`1 custodianGroupIDs, TargetsAndTargetGroupsDS& targetsDS, List`1& addresses)|
   at KVS.Accelerator.Web.BO.BO_SearchTool2.InitFromDS(SearchCriteriaDS aSearchCriteriaDS)|
   at KVS.Accelerator.Web.BO.BO_SearchTool2.GetSearchTemplate(Int32 caseID, Int32 searchID)|
   at KVS.Accelerator.RBO.RBO_SearchTool2.GetSearchTemplate(Int32 caseID, Int32 searchID)

 


Environment



- Windows Server 2003 R2, any EV supported version

- Enterprise Vault 9.0.x. - Discovery Accelerator 9.0.x.


Cause



When a DA search is run using one or more Custodians from Custodian Manager, the search criteria is linked to the SMTP address(es) of the Custodian(s).

When a Custodian's Active Directory Account is deleted, the Custodian Manager synchronization process will eventually remove the custodian from synchronization, then deactivate the Custodian.

When the Custodian is deactivated, the Custodian's SMTP Address(es) and SMTP Display Name are moved from the tblAddress table to the tblAddressHistory table.

If a DA search was run without including the option "Use Historic Reference for Custodian and Custodian Groups", double clicking on the search to display its criteria will attempt to access the Custodian's SMTP address from the tblAddress table, which will not contain this information, thereby throwing the error.

If a DA search was run with the option "Use Historic Reference for Custodian and Custodian Groups", then double clicking on the search will display the search criteria as the process to access the Custodian's SMTP address will look in the tblAddress and tblAddressHistory tables, where the address is present.

If the Custodian Manager database has been modified to remove the tblAddress and tblAddressHistory tables' records for the deleted Custodian, then no data is present in the database for the search criteria to display the Custodian's SMTP address, so the error is also thrown in this condition.

If a Custodian is deleted from within Custodian Manager manually, the Custodian's SMTP Address and Display Name are deleted from the Custodian Manager database without having any data moved to the tblAddressHistory table.  If such a deletion occurs, a DA Search with or without the "Use Historic Reference for Custodian and Custodian Groups" option being selected can cause the error to be displayed.

Notes:

  1. The Custodian Manager database should never be manipulated to delete rows from any table.
  2. The error alert may not be displayed in Discovery Accelerator 9.0 SP2.  The resolution to obtain the error alert is to upgrade to DA 9.0 SP3; however, SP3 does not contain the fix to the root issue.
  3. The issue is encountered with searches that used a Custodian that has been since deleted from Custodian Manager to either
    1. view the search criteria by double clicking on the search, or
    2. attempting to use the search as a template for a new search.

 


Solution



This issue is resolved in the following releases:

Enterprise Vault 10.0.1
http://www.symantec.com/docs/TECH147787

Enterprise Vault 9.0.4
http://www.symantec.com/docs/TECH147785



Two possible workarounds exist to obtain the search criteria for DA 9.0 through 9.0 SP3.

Workaround 1:

1) Access the Reports tab in the DA Client.

2) Click 'New' to begin creating a new report.

3) Select the Searches option in the Type field's drop down selection.

4) Enter a name for the report in the Name field.

5) Enter a description of the report, if desired, in the Description field.

6) Click the Add option under the Report Parameters section.

7) Select the Case under which the search was run and click the OK button.

8) Click the Apply button to begin the report generation.

9) When the report status shows as Ready, click the Preview tab to view the report.

10) Scroll through the list of searches to find the search in question.  Note that moving through the pages may be necessary to locate the exact search desired.

11) Click on the search name to drill down to the search criteria.

12) Note the search criteria as needed by expanding each of the following sections as needed:

- Search Details -- provides the search type (scheduled or immediate), if the options 'Automatically accept search results' and 'Include items already in review'

     have been selected, and the schedule name if the search is a scheduled search.

- Date Range - provides the date range for the search.

- Search Terms - provides the contents of the 'To', 'From', 'To or From' fields and the 'Subject', 'Content' or 'Subject or Content' fields.

- Attachments - provides information on any specifications for attachments (i.e., number of attachments, type of attachments).

- Miscellaneous - provides information in the Miscellaneous section of the search, such as the 'Include only non-indexed items' option.

- Policies - provides information on any policy selections.

- Custom Attributes - provides information on any custom search attributes created for the search or application.

 

Workaround 2:

1) Hover the mouse over the name of the search.

2) Wait until the pop-up appears with the SearchID and CaseID.

3) Note the SearchID.

4) Access the DA Customer database through the SQL Server Management Studio

5) Run the following SQL query against the DA Customer database

SELECT XMLText FROM tblIntSearches WHERE SearchID = ## -- replacing ## with the SearchID noted in Step 3.

6) Right click on the XMLText output from the query and select the Copy option.

7) Open an empty NotePad document.

8) Paste the copied text into the document.

9) Reformat the text so that it is more easily read.   For example:

<SearchCriteriaDS xmlns="http://www.tempuri.org/SearchCriteriaDS.xsd">
     <SearchCriterias d2p1:Name="juser1"                      <-- UserID in Active Directory
                      d2p1:SearchTemplateID="-1"
                      d2p1:OnlyNew="false"                    <-- Include items already in review if "false"
                      d2p1:SourceTargetDirection="3"          <-- 1 = Internal, 2 = Exchange External Inbound, 3 = Exchange External Outbound
                      d2p1:SampleSize="100"
                      d2p1:MinimumNumberRecipient="0"
                      d2p1:AutoAccept="false"                 <-- Automatically accept search results if "true" 
                      d2p1:SampleCap="-1"
                      d2p1:FreeformTargetsOnly="false"
                      d2p1:CustodianAddressOption="1"
                      d2p1:CustodianGroupDistributionListOption="1"
                      d2p1:IncludeDistributionListMembers="false" 
                      xmlns: d2p1="http://www.tempuri.org/SearchCriteriaDS.xsd">
<PolicyTypes> 1 </PolicyTypes>
<PolicyFilterByCase> false </PolicyFilterByCase>
<IncludeNonIndexed> false </IncludeNonIndexed>
<TimeZoneStandardName> Central Standard Time </TimeZoneStandardName>
<SearchRecipients d2p1:Type="4" d2p1:Operant="1">
<SearchRecipient d2p1:Name="User, Joe" <-- Active Directory Display Name for user d2p1:Type="6" d2p1:ID="15" /> <-- AddressOwnerID in Custodian Manager database
</SearchRecipients>
<SearchDates d2p1:Operant="1">
<SearchDate d2p1:From="0001-01-01T00:00:00Z"
      d2p1:To="2010-10-15T05:00:00Z"
      d2p1:Operant="1"
      d2p1:Type="1"
        d2p1:RelativeDisplay="6"
      d2p1:RelativeValue="0"
      d2p1:DateIndexAttribute="0"
      d2p1:UseHistoricalDatesForCM="false" /> <-- Will use historic data for Custodians and Custodian Groups if "true"
</SearchDates>
<RetentionCategories d2p1:Operant="0" />
<Policies d2p1:Operant="0" />
</SearchCriterias>
 </SearchCriteriaDS>

10) Save the NotePad document.

11) Review the document contents for the search criteria used. 

Note that the actual SMTP  Address(es) for the Custodian is not present in the XML Text field, nor is it present in any other field associated with the search in the tblIntSearches table.  This is due to the expectation that the Custodian's SMTP Address(es) and SMTP  Display Name(s) will be present in the Custodian Manager database tables.


Supplemental Materials

SourceETrack
Value2339957
Description

Attempting to access search criteria throws error "Could not get Custodian for AddressOwnerID :96".



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


Terms of use for this information are found in Legal Notices