000037804 - Data Feed Errors with Record Creation in RSA Archer

Document created by RSA Customer Support Employee on Sep 6, 2019
Version 1Show Document
  • View in full screen mode

Article Content

Article Number000037804
Applies ToRSA Product Set: Archer
RSA Product/Service Type: RSA Archer (On-Premise)
RSA Version/Condition: 6.4.0.2 and Later
 
IssueIn this scenario, the issue can be discovered when trying to implement and run a data feed to create records into an application. 
The data feed will error out and you will get an error in the Archer JobFramework logs that shows:
 

<E2ETraceEvent xmlns="http://schemas.microsoft.com/2004/06/E2ETraceEvent">
    <System xmlns="http://schemas.microsoft.com/2004/06/windows/eventlog/system">
        <EventID>3</EventID>
        <Type>3</Type>
        <SubType Name="Critical">0</SubType>
        <Level>1</Level>
        <TimeCreated SystemTime="2019-07-27T13:19:56.0085154Z" />
        <Source Name="ArcherTech.DataFeed" />
        <Correlation ActivityID="{f7d2f37c-9724-4c10-ad92-58d9afbbdbcb}" />
        <Execution ProcessName="ArcherTech.JobFramework.Job" ProcessID="20276" ThreadID="1" />
        <AssemblyVersion>6.4.200.1032</AssemblyVersion>
        <Channel />
        <Computer>XXXXXXXXXXXXXX</Computer>
    </System>
    <ApplicationData>
        <TraceData>
            <DataItem>
                <TraceRecord Severity="Critical" xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord">
                    <TraceIdentifier>ArcherTech.DataFeed</TraceIdentifier>
                    <Description>An error occurred calling database.  Retrying process: SaveContent</Description>
                    <AppDomain>ArcherTech.JobFramework.Job.exe</AppDomain>
                    <ContextData>
                        <WaitTime>5000</WaitTime>
                        <RetryAttempts>1</RetryAttempts>
                        <LogReferenceId>072719-131956-0085</LogReferenceId>
                        <DataFeedId>11126</DataFeedId>
                        <DataFeedName>XXX_DATAFEED_#</DataFeedName>
                        <DataFeedHistoryId>3605403</DataFeedHistoryId>
                    </ContextData>
                    <Exception>
                        <ExceptionType>ArcherTech.Kernel.Providers.Data.ArcherDbException, ArcherTech.Kernel.Providers, Version=6.4.200.1032, Culture=neutral, PublicKeyToken=null</ExceptionType>
                        <Message>Execution Timeout Expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.
The statement has been terminated.
SQL statement: usp_update_content @userToken = 'EAAB87D220B840F3F2D2136618EE4202', @contentXml = '&lt;ROOT&gt;&lt;V a="1020446" /&gt;&lt;V a="1944895" /&gt;&lt;V a="2030538" /&gt;&lt;V a="2355439" /&gt;&lt;V a="1021421" /&gt;&lt;V a="1021541" /&gt;&lt;V a="1021543" /&gt;&lt;V a="1020445" /&gt;&lt;V a="3158490" /&gt;&lt;/ROOT&gt;', @mainContentId = , @auditRecord = False, @updateDate = '7/27/2019 1:13:55 PM'</Message>
                        <Source>ArcherTech.Kernel.Providers</Source>
                        <StackTrace>   at ArcherTech.Kernel.Providers.Data.ArcherSqlDatabase.WrapDatabaseCall(DbCommand command, Action methodToWrap)
   at ArcherTech.Kernel.Providers.Data.ArcherSqlDatabase.ExecuteReader(DbCommand command)
   at ArcherTech.Kernel.DataSource.Db.DataSourceBase.PopulateIdPair[TKey,TValue](DbCommand command, MapIdPair`2 mapIdPairDelegate)
   at ArcherTech.Kernel.DataSource.Db.ContentDataSource.Update(IEnumerable`1 contentIds, Nullable`1 mainContentId, Boolean auditRecord)
   at ArcherTech.Kernel.Brokers.UpdateRelatedContentRecordTask.Execute(ContentContext 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.RollbackUnsuccessfulContentInsertTask.Execute(ContentContext 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.ExecuteContentSavePlan(ContentContext contentContext, IDictionary`2 indexMap, ContentSavePerformanceData performanceData, BatchContentSaveResult returnResults)
   at ArcherTech.Kernel.Brokers.ContentBroker.Save(IList`1 contentContainers, Nullable`1 subformFieldId, ContentSaveOptions saveOptions)
   at ArcherTech.DataFeed.Channel.Components.ContentProcessors.ContentWriterContext.&lt;&gt;c__DisplayClass57_0.&lt;SaveContent&gt;b__4()
   at ArcherTech.DataFeed.Channel.Components.ContentProcessors.ContentWriterContext.RetryCommand[T](Func`1 databaseCommand, String methodName)</StackTrace>
                        <InnerException>
                            <ExceptionType>System.ComponentModel.Win32Exception, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType>
                            <Message>The wait operation timed out</Message>
                            <Source />
                            <StackTrace />
                        </InnerException>
                    </Exception>
                </TraceRecord>
            </DataItem>
        </TraceData>
    </ApplicationData>
</E2ETraceEvent>


Next, when attempting to save a record manually in the application, it will spin for a while and eventually time out. The w3wp logs will show:
 

<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="2019-07-30T13:21:32.2237125Z" />
        <Source Name="Archer.Web" />
        <Correlation ActivityID="{00000000-0000-0000-0000-000000000000}" />
        <Execution ProcessName="w3wp" ProcessID="7504" ThreadID="39" />
        <AssemblyVersion>6.4.200.1032</AssemblyVersion>
        <Channel />
        <Computer>XXXXXXXXXXXXXX</Computer>
    </System>
    <ApplicationData>
        <TraceData>
            <DataItem>
                <TraceRecord Severity="Error" xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord">
                    <TraceIdentifier>Archer.Web</TraceIdentifier>
                    <LogReferenceId>073019-132132-2237</LogReferenceId>
                    <Description>Request timed out.</Description>
                    <AppDomain>/LM/W3SVC/1/ROOT/RSAarcher-1-132089573672156961</AppDomain>
                    <ContextData>
                        <BaseUrl>https://XXXXXXXXX.XXXX.XXX/RSAarcher/GenericContent/Record.aspx</BaseUrl>
                        <id>0</id>
                        <Module>ModuleId: 84, ModuleName: Contacts, ModuleStatus: ActiveInProduction, ModuleType: Application</Module>
                        <frameWidthHeight>1366,598</frameWidthHeight>
                    </ContextData>
                    <Exception>
                        <ExceptionType>System.Web.HttpException, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</ExceptionType>
                        <Message>Request timed out.</Message>
                        <Source />
                        <StackTrace />
                    </Exception>
                </TraceRecord>
            </DataItem>
        </TraceData>
    </ApplicationData>
</E2ETraceEvent>


 
CauseBased off of the data feed error in the job framework logs, the issue had to deal with some related content. (Update Related Content Record Task)
So the focus here would be looking at any calculated cross-reference or related record fields. When trying to save a new record, these will try to auto-populate depending on configuration and if they are being tracked in the history log in the immediate application or the related application, that could cause record saving and/or editing to have problems.
ResolutionRemove the history log tracking for the calculated cross-reference field from the cross-reference side of the relationship between the related applications. (you only need to track one side and typically it is best practice to not track calculated fields in the history log as they can cause the history log to unintentionally expand in size and can impact performance)

Attachments

    Outcomes