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

Document created by RSA Customer Support Employee on Aug 30, 2016Last modified by RSA Customer Support on Feb 20, 2019
Version 4Show Document
  • View in full screen mode

Article Content

Article Number000033900
Applies ToRSA Product Set: Archer
RSA Version/Condition: 5.5.4, 6.x
Issue
  • 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">
        <EventID>1</EventID>
        <Type>3</Type>
        <SubType Name="Error">0</SubType>
        <Level>2</Level>
        <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" />
        <AssemblyVersion>5.5.40100.1013</AssemblyVersion>
        <Channel />
        <Computer>**removed**</Computer>
    </System>
    <ApplicationData>
        <TraceData>
            <DataItem>
                <TraceRecord Severity="Error" xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord">
                    <TraceIdentifier>ArcherTech.JobFramework</TraceIdentifier>
                    <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>
                    <AppDomain>ArcherTech.JobFramework.Job.exe</AppDomain>
                    <Exception>
                        <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>
                        <Source>ArcherTech.Kernel</Source>
                        <StackTrace>
   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>
                        <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 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 a later release.
 
WorkaroundCreate an Archer Database Transporter Data Feed with a 3600 second TransmissionTimeout token.
  • General Tab -> Standard -> Source Definition -> Add New (token) -> TransmissionTimeout -> 3600 -> Save ->
  • General Tab -> Transport Only -> Save
  • Transport Tab -> Connection Timeout -> 600
  • Use the below query


exec usp_clean_content_history '@userToken=NULL'


  • Configure feed with credentials to connect to Archer database.
The Data Feed should be configured to run repeatedly 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.


 

Outcomes