Description: At times, Batch Instances can sometimes appear stuck. While investigating these, there are a few common issues which can cause this. There is a list below of common Causes and Solutions of these issues.
|1||Workflow not deployed/corrupted for batch class corresponding to which batches are running.||Deploy the corresponding batch class from batch class management screen.|
Inconsistent database state when changes made to Ephesoft database manually from outside while Ephesoft is running.
For example, deleting entries from JOB table when Ephesoft database is in use. This is totally wrong practice because manual changes in database does not get reflected to Ephesoft because changes were not made from Ephesoft’s session.
|Manual changes in database must be avoided in general. Only in case of extreme emergency if any manual change to database has to be done, then it should only be done after stopping all the Ephesoft applications on cluster.|
|3||Jobs taking long time to execute due to large no of Jobs in ERROR state in JBPM4_JOB table.||Clear out the erroneous entries from JBPM4_JOB table after stopping Ephesoft server.|
Batches can get stuck in Running state if some command gets stuck for long duration of time. For example, Recostar commands may get stuck with some special images which it cannot handle.
Note: This has fixed in 3.1 release as command will automatically terminate as retry/timeout mechanism has been added for this purpose. It will kill the stuck command and will retry the command which is configurable from property file.
|Manually kill the stuck command from task manager and try to re-execute by restarting the batch.|
Batches stuck in RUNNING state due to long (external non java) processes executing in client scripts.
We have seen few occasion in custom client script where customer is using Java Process Executor to execute some external application (non-java). Usually in such script no error handling is in place which can lead to stuck or error process which might contribute to stuck batches.
|Analyse the script and improve the custom code by putting exception handling in place.|
Batches stuck in RUNNING state due to improper database connection management in client scripts.
We have seen few instances where customer creates a new DB connection every time when a method is called from script and same connection is not closed. This potentially is very dangerous as it may lead to database hung connections (extremely high load on DB due to numerous DB connections). Due to this DB may become unreachable for application and batches may get stuck waiting for DB.
In addition to this it can also lead to memory leak in application which could lead to server crashes.
|Analyse client scripts for better database connection management. Make sure only required number of connections have been opened and all the connections are closed properly.|
|7||Database deadlock issues when MSSQL is used at the backend.||Please make sure all the indexes are applied on the database as suggested on this Ephesoft wiki page.|