Details
-
Feature
-
Status: Released (View Workflow)
-
Major
-
Resolution: Fixed
-
None
-
None
Description
Current Situation
- The JobSchedulerCleanupHistory job is critical as it removes entries from the JobScheduler database in parallel to possibly running jobs which frequently creates race conditions.
- Depending on the DBMS in use such race conditions are handled more or less effective. Some DBMS such as SQL Server and MySQL are less than perfect when it comes to row level locking as they tend to restrict a lock to an individual data record and at the same time spread a lock across multiple records from an index which results in lock wait timeouts and possible deadlocks.
Desired Behavior
- Users who want to shrink their history tables in the JobScheduler database should be enabled to perform such tasks independently of running jobs. Therefore the job implementation should be executable from the command line during maintenance windows when JobScheduler is not up and running.
- The JITL job JobSchedulerCleanupHistory should be executable from the command line and should be accompanied by a shell script for the appropriate parameterization, e.g. use of the configured JVM. The shell script can be executed independently from a JobScheduler instance.