Support Article
EXCP0001 in the logs while processing escalation of an SLA
Summary
Multiple alerts on EXCP0001 occur in the logs while processing the escalation of a Service Level Agreement (SLA).
Error Messages
Error in Alert Logs:
com.pega.pegarules.pub.database.LockGoneException: Save, Delete or Commit has failed because lock " A-B-C" is not held<CR>From: (B0D877E1E9A5920C140FCF32DD4D6FCBC) <CR> at com.pega.pegarules.data.internal.access.Saver.checkRequiredLock(Saver.java:1365)<CR> at com.pega.pegarules.data.internal.access.Saver.saveDeferred(Saver.java:362)<CR> at com.pega.pegarules.data.internal.access.DatabaseImpl.saveDeferred(DatabaseImpl.java:4832)<CR> at com.pega.pegarules.data.internal.access.DatabaseImpl.saveDeferred(DatabaseImpl.java:4816)<CR> at com.pegarules.generated.activity.ra_action_executesla_385b3e0f8d36abe26bfa86b4b22f803a.step23_circum0(ra_action_executesla_385b3e0f8d36abe26bfa86b4b22f803a.java:2506)<CR> at com.pegarules.generated.activity.ra_action_executesla_385b3e0f8d36abe26bfa86b4b22f803a.perform(ra_action_executesla_385b3e0f8d36abe26bfa86b4b22f803a.java:514)<CR>
Error in Pegarules logs:
[Encountered problem when performing a Commit][STACK][com.pega.pegarules.pub.database.DatabaseException: Error during checkRequiredLocks bean method call: code: <none> SQLState: nested exception is: java.lang.RuntimeException: Problem during method invocation (checkRequiredLocks) Message: <none><CR>From: (unknown) <CR> at com.pega.pegarules.data.internal.access.LockManagerImpl.checkRequiredLocks(LockManagerImpl.java:1112)<CR> at com.pega.pegarules.data.internal.access.DatabaseImpl.checkRequiredLocks(DatabaseImpl.java:2245)<CR> at com.pega.pegarules.data.internal.access.DatabaseImpl.attemptToProcessUpdates(DatabaseImpl.java:2618)<CR> at com.pega.pegarules.data.internal.access.DatabaseImpl.processUpdates(DatabaseImpl.java:2288)<CR> at com.pega.pegarules.data.internal.access.Saver.save(Saver.java:663)<CR> at com.pega.pegarules.data.internal.access.DatabaseImpl.save(DatabaseImpl.java:4930)<CR> at com.pega.pegarules.data.internal.access.DatabaseImpl.save
Steps to Reproduce
Configure an SLA with escalation activity.
Root Cause
An issue in the custom application code or rules. A Commit failure occurs because the Commit is invoked from the escalation activity or an activity from it. The service level agent locks the work object with release on commit set to True, hence, the escalation activity commit loses the lock and then the commit that SLA performs resulting in the stack trace. The Commit action is not required in service level activities as SLA agent performs Commit at the end.
Resolution
Perform the following local-change:- Uncheck Write-Now from Obj-Save
- Remove the explicit Commit action from escalation activity
Published March 9, 2018 - Updated October 8, 2020
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.