000033579 - Cannot delete records in RSA Archer and the w3wp log file has errors: PersistContentHistoryHelper.GetHistoryReferenceValue

Document created by RSA Customer Support Employee on Jul 21, 2016Last modified by RSA Customer Support Employee on Apr 21, 2017
Version 3Show Document
  • View in full screen mode

Article Content

Article Number000033579
Applies ToRSA Product Set: Archer
 
IssueUnable to delete specific records in Modules.  
The following error is seen in the the w3wp logs when attempting to delete records in Archer:
      
<E2ETraceEvent xmlns="http://schemas.microsoft.com/2004/06/E2ETraceEvent">
  <System xmlns="http://schemas.microsoft.com/2004/06/windows/eventlog/system">
    <EventID>0</EventID>
    <Type>3</Type>
    <SubType Name="Error">0</SubType>
    <Level>2</Level>
    <TimeCreated SystemTime="2016-07-18T17:36:15.7430937Z" />
    <Source Name="Archer.Web" />
    <Correlation ActivityID="{00000000-0000-0000-0000-000000000000}" />
    <Execution ProcessName="w3wp" ProcessID="3528" ThreadID="78" />
    <AssemblyVersion>5.5.40200.1016</AssemblyVersion>
    <Channel />
    <Computer>XXXXXXXXXX</Computer>
  </System>
  <ApplicationData>
    <TraceData>
      <DataItem>
        <TraceRecord Severity="Error" xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord">
          <TraceIdentifier>Archer.Web</TraceIdentifier>
          <LogReferenceId>071816-173615-7430</LogReferenceId>
          <Description>The given key was not present in the dictionary.</Description>
          <AppDomain>/LM/W3SVC/1/ROOT-1-131133018003178681</AppDomain>
          <ContextData>
            <BaseUrl>https://aaaaaa.bbbbbb.ccccc.com/GenericContent/Record.aspx</BaseUrl>
            <id>294215</id>
            <Module>ModuleId: 84, ModuleName: Contacts, ModuleStatus: ActiveInProduction, ModuleType: Application</Module>
            <levelSelection>37</levelSelection>
            <RecordSet>True</RecordSet>
          </ContextData>
          <Exception>
            <ExceptionType>System.Collections.Generic.KeyNotFoundException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType>
            <Message>The given key was not present in the dictionary.</Message>
            <Source>mscorlib</Source>
            <StackTrace>
   at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
   at ArcherTech.Kernel.Brokers.PersistContentHistoryHelper.GetHistoryReferenceValue(IEnumerable`1 referenceContentIds, IDictionary`2 keyFieldContent, Int32 mainContentId, ContentFieldBase mainContentNewKeyFieldValue, ISharedContentContext sharedContext)
   at ArcherTech.Kernel.Brokers.PersistContentHistoryTaskBase`1.CreateReferenceFieldHistory(IList`1 relateContentFieldBase, IDictionary`2 contentChangesForFieldId, IDictionary`2 relatedContentHistories, IDictionary`2 relatedContentById, ISharedContentContext sharedContext, IIndexedContentContext indexedContext)
   at ArcherTech.Kernel.Brokers.PersistContentHistoryTaskBase`1.CreateRelatedContentHistory(ContentHistory mainContentHistory, IList`1 relateContentFieldBase, ISharedContentContext sharedContext, IIndexedContentContext indexedContext)

   at ArcherTech.Kernel.Brokers.PersistContentHistoryTaskBase`1.Execute(T contentContext)
   at ArcherTech.Kernel.Brokers.TaskExecutionHelper.ExecuteTasks[T](T contentContext, IList`1 tasks)
   at ArcherTech.Kernel.Brokers.TransactionalTask`1.ExecuteTransaction(T contentContext)
   at ArcherTech.Kernel.Brokers.TransactionalTask`1.Execute(T contentContext)
   at ArcherTech.Kernel.Brokers.TaskExecutionHelper.ExecuteTasks[T](T contentContext, IList`1 tasks)
   at ArcherTech.Kernel.Brokers.AcquireLocksTask`1.Execute(T contentContext)
   at ArcherTech.Kernel.Brokers.TaskExecutionHelper.ExecuteTasks[T](T contentContext, IList`1 tasks)
   at ArcherTech.Kernel.Brokers.IndexedContentIteratorTask`1.ExecuteNonthreadedIterator(T contentContext, IList`1 indexedContentContexts)
   at ArcherTech.Kernel.Brokers.TaskExecutionHelper.ExecuteTasks[T](T contentContext, IList`1 tasks)
   at ArcherTech.Kernel.Brokers.ContentBroker.Delete(IList`1 contentIds, ContentDeleteOptions deleteOptions)
   at ArcherTech.Kernel.Brokers.ContentBroker.Delete(Int32 contentId)
   at ArcherTech.Kernel.Managers.ContentManager.Delete(SessionContext sessionContext, Int32 contentId)
   at ArcherTech.Web.Modules.GenericContent.Views.RecordPresenter.DeleteRecord()
   at Security2000.GenericContent.Record.DeleteButton_Click(Object sender, EventArgs e)

   at ArcherTech.Web.UI.Controls.ToolbarButton.RaisePostBackEvent(String eventArgument)
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
            </StackTrace>
          </Exception>
        </TraceRecord>
      </DataItem>
    </TraceData>
  </ApplicationData>
</E2ETraceEvent>
CauseThis is referring to a problematic History Log field.
Workaround
  1. Temporarily set the History Log field to Inactive.
  2. Click Save.
  3. Delete the offending records.
  4. Set the History Log field back to Active.

Attachments

    Outcomes