Database deadlock issue with large solution deployments
This topic was viewed 11 times since its publication
Symptoms
You try to deploy a large solution and a database deadlock
error is generated in the IBM Content Cortex server
error log, such as the following error: 013-07-12T16:48:33.293
19F319F3 ENG FNRCE0019E - ERROR method name: throwEngineException
principal name: Administrator Global Transaction: true User Transaction:
false Exception Info: The operation could not be completed due to
a deadlock error. A retry might be appropriate. ObjectStore: "CMTOS",
SQL: ""ALTER TABLE CMTOS.Container ADD (u2586_dub_hvlointeger67 number(10)
NULL) "" com.filenet.api.exception.EngineRuntimeException: FNRCE0019E:
E_DEADLOCK_ERROR: The operation could not be completed due to a deadlock
error. A retry might be appropriate. ObjectStore: "CMTOS", SQL: ""ALTER
TABLE CMTOS.Container ADD (u2586_dub_hvlointeger67 number(10) NULL)
"" failedBatchItem=42
at com.filenet.engine.dbpersist.DBOracleContext.throwEngineException(DBOracleContext.java:335)
at com.filenet.engine.dbpersist.DBExecutionElement.execute(DBExecutionElement.java:296)
at com.filenet.engine.dbpersist.DBExecutionContext.getNextResult(DBExecutionContext.java:106)
at com.filenet.engine.dbpersist.DBStatementList.executeStatements(DBStatementList.java:161)
at com.filenet.engine.dbpersist.DBStatementList.getNextResult(DBStatementList.java:601)
at com.filenet.engine.dbpersist.DBStatementAlter.process(DBStatementAlter.java:834)
at com.filenet.engine.dbpersist.DBStatementAlter.process(DBStatementAlter.java:778)
Causes
The system determines whether a solution is active by periodically checking the LastModified time of the solution folder. A keep-alive interval specifies how often solution activity is checked. The default keep-alive interval of 2 seconds is too small for large solution deployments.Resolving the problem
For large solution deployments, increase the value of the keep-alive interval from 2 seconds to 30 seconds. The value is specified in milliseconds: 30000 is 30 seconds.
To increase the keep-alive interval to 30 seconds:
- Set the following JVM parameter on the workflow
server:
-Dcom.ibm.casemgmt.config.keep.alive.interval=30000 - Restart the JVM for your changes to take effect.
This topic is shared by BAW, CP4BA. Last updated on 2025-03-13 12:15