Support Article
RequestorLockException after SOAP Call and Connect-Wait
SA-97014
Summary
A process is configured with a Connect-SOAP Call set to RunInParallel and Connect-Wait is configured with a value of -1. The process executes successfully on one node, but fails on the second node with RequestorLockException. Howevdr, the SOAP Call completes successfully when run synchronously.
The node which failed, is configured with Background Processing, Search, and Stream as the node type. The working node is configured with Web User as the node type.
Error Messages
com.pega.pegarules.pub.context.RequestorLockException: Unable to synchronize on requestor HRVSBMOVXUUR18N7OAYC81V7ZJ0XKLBQVA within 120 seconds: (thisThread = WebContainer : 4) (originally locked by = WebContainer : 9) (finally locked by = WebContainer : 9)
Steps to Reproduce
Run the process that invokes the SOAP Call and Connect-Wait.
Root Cause
A defect or configuration issue in the operating environment.
The background requestors or threads available were insufficient to execute the SOAP Request asynchronously.
Resolution
Perform the following local-change:
Use the below prconfig value or Dynamic System Setting (DSS) to increase the 'agent/threadpoolsize' and 'services/maxrequestorchildren' settings.
prconfig | DSS |
<env name="agent/threadpoolsize" value="100" /> | prconfig/agent/threadpoolsize/default Rule – Pega-Engine Value 100 |
<env name="services/maxrequestorchildren" value="100" /> | prconfig/services/maxrequestorchildren/default Rule – Pega-Engine Value 100 |
Published July 16, 2020 - Updated December 2, 2021
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.