000012647 - Error when running Application Builder Report named Application Data Driven Events Summary.

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

Article Content

Article Number000012647
Applies ToRSA Archer
IssueError when running Application Builder Report named Application Data Driven Events Summary.
Log file shows: An item with the same key has already been added.
<ApplicationData>
  <TraceData>
    <DataItem>
      <TraceRecord Severity="Error" xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord">
        <TraceIdentifier>Archer.Web</TraceIdentifier>
        <LogReferenceId>031414-150108-8082</LogReferenceId>
        <Description>An item with the same key has already been added.</Description>
        <AppDomain>/LM/W3SVC/2/ROOT-1-130392602068665845</AppDomain>
        <ContextData>
          <BaseUrl>http://ServerName/Administration/Reports/Report.aspx</BaseUrl>
          <PageId>ModuleDataDrivenEventsSummary</PageId>
          <NeedsSelector>True</NeedsSelector>
          <ShowReport>False</ShowReport>
          <Module>ModuleId: 123, ModuleName: Your Application Name, ModuleStatus: ActiveInProduction, ModuleType: Application</Module>
          <PageHitsType>
          </PageHitsType>
        </ContextData>
        <Exception>
          <ExceptionType>System.ArgumentException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType>
          <Message>An item with the same key has already been added.</Message>
          <Source>mscorlib</Source>
          <StackTrace>   at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
   at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
   at ArcherTech.Kernel.Brokers.ApplicationReportBroker.GetGroupLookups(IList`1 groupIds)
   at ArcherTech.Kernel.Brokers.ApplicationReportBroker.GetEventActionSummaries(IList`1 eventActions, LevelLayoutLookups levelLayoutLookups)
   at ArcherTech.Kernel.Brokers.ApplicationReportBroker.GetEventRules(IList`1 eventRules, IDictionary`2 eventRuleActions, LevelLayoutLookups levelLayoutLookups)
   at ArcherTech.Kernel.Brokers.ApplicationReportBroker.GetModuleLevels(Int32 moduleId, ModuleDetailOptions options)
   at ArcherTech.Kernel.Brokers.ApplicationReportBroker.GetModuleDetails(Int32 moduleId, ModuleDetailOptions options)
   at ArcherTech.Kernel.Utility.ManagerHelper.WrapCode[T](ManagerEventIdentifier managerEventId, SessionContext sessionContext, ExtendedManagerMethodWrapper`1 wrapped)
   at Security2000.Administration.Reports.Controllers.ApplicationReportController.GetDataDrivenEventsSummaryData()
   at Security2000.Administration.Reports.Controllers.ApplicationReportController.CreateApplicationDataDrivenEventsSummaryReport()
   at Security2000.Administration.Reports.Controllers.ApplicationReportController.CreateReport()
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)</StackTrace>
        </Exception>
      </TraceRecord>
    </DataItem>
  </TraceData>
</ApplicationData>
CauseWhen a DDE Rule has more than one Action tied to it with an Apply Conditional Layout with the same Group (even Everyone), the report fails.
 
ResolutionUpgrade to at least 5.4.1.1.
A possible workaround is to combine DDE Actions that are affected by the issue into one Action rather than two.
The following SQL query may help find the DDE Rule & Action:
SELECT m.module_name,er.event_rule_name,ea.event_action_name FROM tblEventRule er
LEFT OUTER JOIN tblXEventRuleEventAction erea ON er.event_rule_id=erea.event_rule_id
LEFT OUTER JOIN tblEventAction ea ON erea.event_action_id=ea.event_action_id
JOIN tblLevel l ON er.level_id=l.level_id
JOIN tblModule m ON m.module_id=l.module_id
ORDER BY m.module_name,ea.event_action_name
Legacy Article IDa64591

Attachments

    Outcomes