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

ASYNCDECLARATIVEPOOL Timeouts occurring

SA-5693

Summary



Timeouts are occurring for the ASYNCDECLARATIVEPOOL requestor pool. The active count is equal to the max active. In Pega 7.1.4 the service package for this requestor isn't shown in the list of service packages and therefore cannot be increased or amended. We need advice on the correct course of action. We need to understand whether a problem is causing a high number of requestors or whether we just need to increase the pool size and if so how.

Error Messages



2014-12-05 05:15:16,137 [7.1.4_FRW,maxpri=10]] [ STANDARD] [ ] [ ] ( internal.mgmt.RequestorPool) ERROR - Timed out borrowing service requestor from requestor pool for service package: ASYNCDECLARATIVEPOOL
2014-12-05 05:15:16,137 [7.1.4_FRW,maxpri=10]] [ STANDARD] [ ] [ ] ( internal.mgmt.PREnvironment) ERROR - Problem obtaining requestor from ServiceRequestorPool
com.pega.pegarules.pub.PRException: Timed out borrowing service requestor from requestor pool for service package: ASYNCDECLARATIVEPOOL
From: (unknown)
at com.pega.pegarules.session.internal.mgmt.RequestorPool.borrowRequestor(RequestorPool.java:476)
at com.pega.pegarules.session.internal.mgmt.RequestorPoolManager.borrowRequestor(RequestorPoolManager.java:74)
at com.pega.pegarules.session.internal.PRSessionProviderImpl.borrowRequestor(PRSessionProviderImpl.java:607)
at com.pega.pegarules.session.internal.PRSessionProviderImpl.borrowRequestor(PRSessionProviderImpl.java:631)
at com.pega.pegarules.exec.internal.async.AsyncServiceBatchTask.getRequestorAndThread(AsyncServiceBatchTask.java:465)
at com.pega.pegarules.exec.internal.async.AsyncServiceBatchTask.run(AsyncServiceBatchTask.java:252)
at com.pega.pegarules.session.internal.async.Agent.runBatchTask(Agent.java:784)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.AsyncServant.processAsyncTask(AsyncServant.java:198)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.AsyncServant.invoke(AsyncServant.java:152)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl._invokeEngine_privact(EngineImpl.java:312)
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl.invokeEngine(EngineImpl.java:263)
at com.pega.pegarules.session.internal.engineinterface.etier.ejb.EngineBean.invokeEngine(EngineBean.java:225)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethod(PRBootstrap.java:419)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethodPropagatingThrowable(PRBootstrap.java:460)
at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethodPropagatingException(PRBootstrap.java:482)
at com.pega.pegarules.internal.etier.ejb.EngineBeanBoot.invokeEngine(EngineBeanBoot.java:168)
at com.pega.pegarules.internal.etier.interfaces.EJSLocalStatelessEngineBMT_f2439d86.invokeEngine(Unknown Source)
at com.pega.pegarules.session.internal.engineinterface.etier.mdb.PRAsync.processRequest(PRAsync.java:153)
at com.pega.pegarules.session.internal.engineinterface.etier.asynchbeans.AsyncTask.run(AsyncTask.java:64)
at com.pega.pegarules.session.internal.engineinterface.etier.asynchbeans.RunnableWrapper.run(RunnableWrapper.java:71)
at com.ibm.ws.asynchbeans.J2EEContext$RunProxy.run(J2EEContext.java:268)
at java.security.AccessController.doPrivileged(AccessController.java:228)
at com.ibm.ws.asynchbeans.J2EEContext.run(J2EEContext.java:768)
at com.ibm.ws.asynchbeans.WorkWithExecutionContextImpl.go(WorkWithExecutionContextImpl.java:222)
at com.ibm.ws.asynchbeans.ABWorkItemImpl.run(ABWorkItemImpl.java:159)
at java.lang.Thread.run(Thread.java:738)
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:463)
... 29 more


Steps to Reproduce



Not Applicable

Root Cause



The root cause of this problem is a defect in Pegasystems’ code/rules
in Pega 7.1.4.

Resolution



The explanation for this behaviour is as follows:
In Pega 7.1.4 the Service Package for this requestor pool isn't shown in the list of service packages and therefore cannot be opened and amended. The Service Package ASYNCDECLARATIVEPOOL was omitted from the Pega 7.1.4. release which is why it cannot be located. This omission has been corrected in Pega 7.1.5. and later releases via BUG-143220. An issue where the pool will occasionally be fully utilised and the requestors not released has also been addressed in Pega 7.1.5. and later releases via BUG-145349.

Query: We need advice on the correct course of action. We need to understand whether a problem is causing a high number of requestors or whether we just need to increase the pool size and if so how.

Response: You can add a Service Package ASYNCDECLARATIVEPOOL instance to your system and then use this to amend the Requestor values in the pool to help manage the pool behaviour.
The pool requestor sizes can be then tuned according to the immediate need of the system by updating the Service Package. Refer to the following PDN article for further detail regarding the configuration of the pool:

https://pdn.pega.com/data-management/how-to-configure-a-non-blocking-ui-using-asynchronous-declare-pages

Of particular importance / relevance are the following sections:

· System Administrators: Tuning the Requestor Pool

· Modify requestor pool settings

The pool should be monitored via SMA and the pool cleared if it becomes full by using the SMA > Administration > RequestorPools menu option.

 

Published January 31, 2016 - 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