000033900 - Content History Log Cleanup job fails to run properly and old History Log data is not removed in RSA Archer 5.5.4

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

Article Content

Article Number000033900
Applies ToRSA Product Set: Archer
RSA Version/Condition: 5.5.4
  • The Archer History log table tblIVContentHistory continues to grow in size
  • The daily maintenance job labeled "Content History Log Cleanup" (ContentHistoryLogCleanupJobHandler) fails every day with the following error from JobFramework log file:
<E2ETraceEvent xmlns="http://schemas.microsoft.com/2004/06/E2ETraceEvent">
    <System xmlns="http://schemas.microsoft.com/2004/06/windows/eventlog/system">
        <SubType Name="Error">0</SubType>
        <TimeCreated SystemTime="2016-08-23T08:06:34.6499926Z" />
        <Source Name="ArcherTech.JobFramework" />
        <Correlation ActivityID="{b6b42b76-8e5b-4b88-912e-1a273a7b5f27}" />
        <Execution ProcessName="ArcherTech.JobFramework.Job" ProcessID="12364" ThreadID="1" />
        <Channel />
                <TraceRecord Severity="Error" xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord">
                    <Description>Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.
SQL statement: usp_clean_content_history @userToken = ''</Description>
                        <ExceptionType>ArcherTech.Kernel.Utility.Data.ArcherDbException, ArcherTech.Kernel, Version=5.5.40100.1013, Culture=neutral, PublicKeyToken=null</ExceptionType>
                        <Message>Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.
SQL statement: usp_clean_content_history @userToken = ''</Message>
   at ArcherTech.Kernel.Utility.Data.ArcherSqlDatabase.WrapDatabaseCall(DbCommand command, Action methodToWrap)
   at ArcherTech.Kernel.Utility.Data.ArcherSqlDatabase.ExecuteScalar(DbCommand command)
   at ArcherTech.Kernel.DataSource.Db.ContentDataSource.ContentHistoryLogCleanup()
   at ArcherTech.Kernel.Jobs.ContentHistoryLogCleanupJobHandler.PerformCleanup_ExecuteCode(Object sender, EventArgs e)
   at System.Workflow.ComponentModel.Activity.RaiseEvent(DependencyProperty dependencyEvent, Object sender, EventArgs e)
   at System.Workflow.Activities.CodeActivity.Execute(ActivityExecutionContext executionContext)
   at System.Workflow.ComponentModel.ActivityExecutor`1.Execute(T activity, ActivityExecutionContext executionContext)
   at System.Workflow.ComponentModel.ActivityExecutorOperation.Run(IWorkflowCoreRuntime workflowCoreRuntime)
   at System.Workflow.Runtime.Scheduler.Run()</StackTrace>
                            <ExceptionType>System.ComponentModel.Win32Exception, System, Version=, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType>
                            <Message>The wait operation timed out</Message>
                            <Source />
                            <StackTrace />
CauseThe History Log Cleanup job (ContentHistoryLogCleanupJobHandler) can be blocked by another process such as a Data Feed, or it may end early due to a time out waiting for the database to complete the previous command.
This will result in a continual build up of History Log entries that are past due for removal.
ResolutionThis issue is planned to be addressed in the following Archer versions:
  • 5.5 SP4 Patch 3 (and later)
  • 6.1 Patch 2 (and later)
WorkaroundCreate an Archer Database Transporter Data Feed with a connection timeout of at least 600 seconds to run the following command against the Archer Instance database:
exec usp_clean_content_history '@userToken=NULL'

This Data Feed may repeatedly time out and fail after 10 minutes, but even if it times out it will still clean up History Log data.  The Data Feed should be configured to repeatedly run every 10 minutes until it begins to complete successfully in less than 1 minute.
For convenience, an example Data Feed has been attached. The Data Feed will need to be modified as needed to connect to the Archer Instance database associated with the Instance.