Question
Mindtree Ltd
US
Last activity: 28 Apr 2022 6:35 EDT
Queue Processor Lock issue on retrial
We have a queue processor activity which advances the case using performFlowAction (OOTB) activity. The underlying flow action post processing activity makes call to external service and updates the case with service response. This is working fine when there are no failures. When there is a failure with service, the post processing activity sets error messages on work page which will be propagate up till the queue processor activity.
As there are error messages, queue processor considering this as a failure and moving the queue entry into DelayedItems and trying to process after 2 mins (retrial attempt interval).
When queue processor tries to process 2nd/3rd/4th/5th time, getting locking issues (Lock already held by another process). It seems like Queue Processor is not releasing lock when there are failures. Any insights would be helpful on this. The same activity and similar configuration used to work fine with Standard agent. Updated with the extracted debug logs for the usecase (Attached). From the logs,
We have a queue processor activity which advances the case using performFlowAction (OOTB) activity. The underlying flow action post processing activity makes call to external service and updates the case with service response. This is working fine when there are no failures. When there is a failure with service, the post processing activity sets error messages on work page which will be propagate up till the queue processor activity.
As there are error messages, queue processor considering this as a failure and moving the queue entry into DelayedItems and trying to process after 2 mins (retrial attempt interval).
When queue processor tries to process 2nd/3rd/4th/5th time, getting locking issues (Lock already held by another process). It seems like Queue Processor is not releasing lock when there are failures. Any insights would be helpful on this. The same activity and similar configuration used to work fine with Standard agent. Updated with the extracted debug logs for the usecase (Attached). From the logs,
- we can see Reqeustor BGDSN0FIVDWW7S9O8CI9XIRPOF277CDFBA tried to process the queue entry for CL-135004 at 2022-04-04T14:37:00 and requeued for retrial after 1 min due to save error.
- After 1 min, at 2022-04-04T14:38:10, another requestor BD60UAL7WGQX7KMRUCYG7G3OC8QQW5G9HA attempts to process the same case but failed to acquire the lock. And lock information shows that owner of the lock is the first requestor.
- lock information : {pxObjClass=System-Locks, pxLockHandle=MYORG-IDK-CL-WORK CL-135004, pxUpdateOpName=Queue processor(IDKQueueProcessor), pxUpdateOperator=System, ErrorMessage=Database-LockFailure-LockHeldByAnother, pxOwnerId=BGDSN0FIVDWW7S9O8CI9XIRPOF277CDFBA, pxExpireDateTime=20220404T150705.019 GMT}
Thanks.
***Edited by Moderator Marije to add Capability tags***