Support Article
Problem obtaining requestor from ServiceRequestorPool
SA-13690
Summary
All connections have turned stale and no new connections can be established to handle the webservice request.
Error Messages
2015-07-29 07:02:12,221 [fault (self-tuning)'] [ ] [ ] ( internal.mgmt.PREnvironment) ERROR - Problem obtaining requestor from ServiceRequestorPool
com.pega.pegarules.pub.PRException: Timed out borrowing service requestor from requestor pool
From: (unknown)
at com.pega.pegarules.session.internal.mgmt.RequestorPool.borrowRequestor(RequestorPool.java:467)
at com.pega.pegarules.session.internal.mgmt.RequestorPoolManager.borrowRequestor(RequestorPoolManager.java:58)
at com.pega.pegarules.session.internal.PRSessionProviderImpl.borrowRequestor(PRSessionProviderImpl.java:566)
at com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked(PRSessionProviderImpl.java:879)
at com.pega.pegarules.session.internal.PRSessionProviderImpl.doWithRequestorLocked(PRSessionProviderImpl.java:775)
at com.pega.pegarules.integration.engine.internal.services.ServiceAPI.getServiceMethod(ServiceAPI.java:2510)
at com.pega.pegarules.integration.engine.internal.util.SOAPUtils.parseRequestData(SOAPUtils.java:336)
at com.pega.pegarules.integration.engine.internal.services.soap.SOAPService.invoke(SOAPService.java:393)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl._invokeEngine_privact(EngineImpl.java:315)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl.invokeEngine(EngineImpl.java:266)
at com.pega.pegarules.session.internal.engineinterface.etier.ejb.EngineBean.invokeEngine(EngineBean.java:239)
at sun.reflect.GeneratedMethodAccessor150.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
....
Caused by: java.util.NoSuchElementException: Timeout waiting for idle object
at com.pega.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:751)
at com.pega.pegarules.session.internal.mgmt.RequestorPool.borrowRequestor(RequestorPool.java:458)
... 44 more
Steps to Reproduce
Not Applicable
Root Cause
A defect or configuration issue in the operating environment
The requestor pool size in the Data-Admin-ServicePackage was too small for the production environment. This needs to be tuned because the load in the application increases.
Resolution
General guidance: If you are getting too many exceptions Timed out borrowing service requestor from requestor pool, consider increasing the size of the Requestor Pool to meet the needs of your Pega environment.
Perform the following local-change:
- Open the Data-Admin-ServicePackage record, the Pooling tab.
- Increase the value of Maximum Active Requestors based on a calculation related to estimated throughput of your endpoint and other factors.
Published May 24, 2017 - 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.