Skip to main content

This content has been archived and is no longer being updated. Links may not function; however, this content may be relevant to outdated versions of the product.

Support Article

LockGoneException observed in logs during SLA processing

SA-56446

Summary



On configuring an assignment level SLA, LockGoneException occurs while processing a queue item on reaching the Goal or Deadline. However, there is no effect on functionality.


Error Messages


(ExecuteSLA.Assign_.Action) ERROR   - obj-save failed.
com.pega.pegarules.pub.database.LockGoneException: Save, Delete or Commit has failed because lock "A-B-C  F-643589" is not held
From: (B8F2AFC4F6B416FAABD5A9374589FF3D0) 
    at com.pega.pegarules.data.internal.access.Saver.checkRequiredLock(Saver.java:1278)
    at com.pega.pegarules.data.internal.access.Saver.saveDeferred(Saver.java:393)
    at com.pega.pegarules.data.internal.access.DatabaseImpl.saveDeferred(DatabaseImpl.java:3967)
    at com.pega.pegarules.data.internal.access.DatabaseImpl.saveDeferred(DatabaseImpl.java:3951)
    at com.pegarules.generated.activity.ra_action_executesla_ef04e463af564ac305386a8fef424b55.step23_circum0(ra_action_executesla_ef04e463af564ac305386a8fef424b55.java:2538)
    at com.pegarules.generated.activity.ra_action_executesla_ef04e463af564ac305386a8fef424b55.perform(ra_action_executesla_ef04e463af564ac305386a8fef424b55.java:514)
    at com.pega.pegarules.session.internal.mgmt.Executable.doActivity(Executable.java:3527)
    at com.pega.pegarules.session.internal.mgmt.Executable.invokeActivity(Executable.java:10674)
    at com.pegarules.generated.activity.ra_action_processevent_7bc14a477247904fbf0df45248af1236.step7_circum0(ra_action_processevent_7bc14a477247904fbf0df45248af1236.java:732)
    at com.pegarules.generated.activity.ra_action_processevent_7bc14a477247904fbf0df45248af1236.perform(ra_action_processevent_7bc14a477247904fbf0df45248af1236.java:198)
    at com.pega.pegarules.session.internal.mgmt.Executable.doActivity(Executable.java:3527)
    at com.pega.pegarules.session.internal.async.agent.QueueProcessor.runActivity(QueueProcessor.java:732)
    at com.pega.pegarules.session.internal.async.agent.QueueProcessor.execute(QueueProcessor.java:607)



Steps to Reproduce

  1. Configure an assignment level SLA
  2. Wait till the Goal and Deadline is reached such that the corresponding escalation activities are executed. 


Root Cause



Issue is with the custom escalation activities that are created in the Goals and Deadlines. FinishAssignment is invoked in the escalation activities because of the commit that is performed on the work page. When the executeSLA fetches the lock handle during Obj-Save, it is lost because of the previous commit. 
In the background, when the SLA agent retrieves the queue item, the executeSLA activity is executed. Initially all the steps are executed, after which the SLA agent checks for escalation activities (if any) configured in the SLA rule. If activities are present, they are executed and the agent returns to the executeSLA step executions.
It is not recommended to perform commits in the escalation activities of the agent as the final commits are performed when the agent transaction is completed.




Therefore, if commits are present in the agent activity, exception occurs while performing the deferred 'Obj-Save' on the work page in executeSLA because the handle is lost. 


Resolution

Perform the following local-change:

Use ResumeFlow to check if the commit is not from the SLA rule.



 

Published August 24, 2018 - Updated October 8, 2020

Was this useful?

0% found this useful

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.

Did you find this content helpful?

Want to help us improve this content?

We'd prefer it if you saw us at our best.

Pega Community has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice
Contact us