000032903 - SQL Data Feed intermittently failing in RSA Archer 5.5.3

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

Article Content

Article Number000032903
Applies ToRSA Product Set: Archer
RSA Version/Condition: 5.5.3
Platform: Windows
 
IssueData Feed will intermittently fail. Here is the log entry from the JobFramework.job logs:

<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="Error">0</SubType>
        <Level>2</Level>
        <TimeCreated SystemTime="2015-12-16T10:00:38.7307120Z" />
        <Source Name="ArcherTech.DataFeed" />
        <Correlation ActivityID="{88b0ed0e-a98c-4d36-8861-a69bc2bbf356}" />
        <Execution ProcessName="ArcherTech.JobFramework.Job" ProcessID="6920" ThreadID="1" />
        <AssemblyVersion>5.5.30100.1020</AssemblyVersion>
        <Channel />
        <Computer>XXXXXXX</Computer>
    </System>
    <ApplicationData>
        <TraceData>
            <DataItem>
                <TraceRecord Severity="Error" xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord">
                    <TraceIdentifier>ArcherTech.DataFeed</TraceIdentifier>
                    <Description>Error performing query. No data was retrieved and processing will end.</Description>
                    <AppDomain>ArcherTech.JobFramework.Job.exe</AppDomain>
                    <ContextData>
                        <LogReferenceId>121615-100038-6995</LogReferenceId>
                        <DataFeedId>160</DataFeedId>
                        <DataFeedName>XXXXXXXXX</DataFeedName>
                        <DataFeedHistoryId>1036</DataFeedHistoryId>
                    </ContextData>
                    <Exception>
                        <ExceptionType>System.Data.SqlClient.SqlException, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType>
                        <Message>Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.</Message>
                        <Source>.Net SqlClient Data Provider</Source>
                        <ContextData>
                            <HelpLink.ProdName>Microsoft SQL Server</HelpLink.ProdName>
                            <HelpLink.ProdVer>11.00.5569</HelpLink.ProdVer>
                            <HelpLink.EvtSrc>MSSQLServer</HelpLink.EvtSrc>
                            <HelpLink.EvtID>-2</HelpLink.EvtID>
                            <HelpLink.BaseHelpUrl>http://go.microsoft.com/fwlink</HelpLink.BaseHelpUrl>
                            <HelpLink.LinkId>20476</HelpLink.LinkId>
                        </ContextData>
                        <StackTrace>   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
   at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean&amp; dataReady)
   at System.Data.SqlClient.SqlDataReader.TryConsumeMetaData()
   at System.Data.SqlClient.SqlDataReader.get_MetaData()
   at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
   at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task&amp; task, Boolean asyncWrite, SqlDataReader ds)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task&amp; task, Boolean asyncWrite)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
   at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
   at System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
   at System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
   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(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
   at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet)
   at ArcherTech.DataFeed.Transporters.DbQueryInfo.PerformQuery(NetworkCredentialWrapper credentials, Func`2 applyTokens, DataFeedContext context)
   at ArcherTech.DataFeed.Transporters.DbQueryTransporter.ExecuteInternal()</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>

 
CauseDefault time for Archer to complete query to source is timing out.
User-added image
ResolutionAdd the following token to the data feed:
1.  Administration>Integration/Manage Data Feeds>select the HR Hub data feed in question
2.  Select the "Source Definition" tab
3.  Select the "Tokens" sub tab
4.  Select "Add New"
5.  In the new field add "TransmissionTimeout" (no quotes).
  You may need to play with the "value" a little bit.  I would recommend starting with 300.  This is in seconds.

Outcomes