Support Article
Advanced agent hitting lock collisions on queue items
SA-6753
Summary
Running 30 advanced agents (three nodes with ten on each) and using the standard ProcessQueue activity to process queue items results in agents hitting lock collisions on work objects associated with queue items and failing to process.
Error Messages
2015-02-09 09:16:11,031 [ections01,maxpri=10]] [ STANDARD] [ MyApp:01.04.01] ( async.agent.QueueProcessor) WARN BatchProcess - Failed to dequeue item: SYSTEM-QUEUE-EXECUTIONREQUEST-SERVICE-PROCESSACCOUNTS 142349469155900082C51A1BE8BCE3C71ABC10DC28F2ECE8 for processing
com.pega.pegarules.pub.context.PRQueueException: InstanceNotFound Queue SYSTEM-QUEUE-EXECUTIONREQUEST-SERVICE-PROCESSACCOUNTS SYSTEM-QUEUE-EXECUTIONREQUEST-SERVICE-PROCESSACCOUNTS 142349469155900082C51A1BE8BCE3C71ABC10DC28F2ECE8
at com.pega.pegarules.session.internal.async.agent.QueueManagerImpl.dequeue(QueueManagerImpl.java:720)
.
.
.
Steps to Reproduce
1. Create a Rule-Service-File to process requests asynchronously.
a. In Service file rule, Processing method is given as record at a time and data is mapped to clipboard.
b. Configure Execution mode as Execute asynchronously (queue for agent).
2. Create a Service request processor to place the data in a queue class (System-Queue-ExecutionRequest-Service-ProcessAccounts).
3. Configure advanced agents (more than one on each node) to process the data present in queue class. Specify Pattern as Periodic, Interval as 1000 Seconds, and Max records as 1000.
Root Cause
The root cause of this problem is a defect in Pegasystems’ code or rules.
Resolution
Perform the following local-change:
1. Increase the number of work objects per queue from 1 to 100.
2. Reduce the number of agents from 30 to 10.
Published May 10, 2016 - 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.