000035891 - No results in Admin dashboard or Instance Report and logs show Admin Dashboard Population Data Feed failing after 10 minutes in RSA Archer

Document created by RSA Customer Support Employee on Jan 10, 2018Last modified by RSA Customer Support Employee on Jul 28, 2018
Version 2Show Document
  • View in full screen mode

Article Content

Article Number000035891
Applies ToRSA Product Set: Archer (On-Premise)
RSA Product/Service Type: Dashboards, Reports, User Interface
RSA Version/Condition: 6.3, 6.4.0.2
Platform: Windows
IssueNavigating to Archer Control Panel -> Plugins -> Configuration Report -> Instance Report shows the Admin Dashboard Population Feed with a status of Faulted after 00:10:01 minutes of elapsed time.
User-added image


The RSA Archer JobFramework.Job log files indicate that Admin_Dashboard_Population_Feed is failing.


<Description>Unexpected error occurred while executing data feed.</Description>
<AppDomain>ArcherTech.JobFramework.Job.exe</AppDomain>
<ContextData>
<LogReferenceId>111317-212627-4058</LogReferenceId>
<DataFeedId>1382</DataFeedId>
<DataFeedName>Admin_Dashboard_Population_Feed</DataFeedName>
<DataFeedHistoryId>103189</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>
<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="2017-11-27T06:10:16.2561620Z" />
        <Source Name="ArcherTech.DataFeed" />
        <Correlation ActivityID="{ec137932-6604-4528-bed9-84b96f39142b}" />
        <Execution ProcessName="ArcherTech.JobFramework.Job" ProcessID="7748" ThreadID="1" />
        <AssemblyVersion>6.3.0.1165</AssemblyVersion>
        <Channel />
        <Computer>ARCHER_SERVER</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>112717-061016-2405</LogReferenceId>
                        <DataFeedId>9779</DataFeedId>
                        <DataFeedName>Admin_Dashboard_Population_Feed</DataFeedName>
                        <DataFeedHistoryId>926001</DataFeedHistoryId>
                    </ContextData>
                    <Exception>
                        <ExceptionType>System.Data.SqlClient.SqlException, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType>
                        <Message>Execution 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>12.00.5553</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, Boolean isInternal, Boolean forDescribeParameterEncryption)
   at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task&amp; task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task&amp; task, Boolean&amp; usedCache, Boolean asyncWrite, Boolean inRetry)
   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.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>

CauseThe first time the data feed runs it will attempt to build a number of Admin Dashboard records based on historical data in the RSA Archer instance. If this takes longer than 10 minutes to complete, the data feed will fail and no Admin Dashboard records will be created.
ResolutionThis issue will be addressed in a later release.
Workaround

Workaround #1 for RSA Archer versions before 6.3 Patch 4:


The performance of the data feed can be improved by creating a database level index on the RSA Archer instance database.


CREATE NONCLUSTERED INDEX tblIVContentHistory_action_date_action_type
ON [dbo].[tblIVContentHistory] ([action_date],[action_type])

The creation of this index will allow the data feed to complete successfully before it's time out period of 10 minutes.

Note: This index may be very large (5+ Gigabytes) and take a very long time to build (over 1 hour), depending on the size of tblIVContentHistory.


 

Workaround #2 for all RSA Archer versions


If there is no data in the Admin Dashboard then the job will attempt to build historical data points based on the configuration of the Admin Dashboard in the Archer Control Panel's General Tab for the instance.  Reduce the number of historical data points attempted to be created by setting

  • "Refresh Interval (minutes)" to the maximum value of 1440
  • Retention Period (days) to the minimum value of 30
User-added image

After this configuration is saved, wait 24 hours for the job to run and check if the admin dashboard data is now populated with historical data.

If the Admin Dashboard data is now populated with historical data, you can then set the "Refresh Interval (minutes)" and "Retention Period (days) settings back to something that meets your requirements and from that point forward it will generate and retain data points as configured.

Attachments

    Outcomes