Support Article
System stops working with limited usage
SA-38140
Summary
Pega 7.2.2 application stops working. This occurs when few users use the system for a few minutes.
In this scenario, three users are using the system.
Error Messages
[ICSBulkProc:01.01.01] (pegarules.resadap.RAClient) ERROR aes.nnics.cjis| - Caught exception while creating Connection, javax.resource.ResourceException: IJ000453: Unable to get managed connection for java:/eis/PRAdapterConnectionFactory
365 ERROR [org.jboss.as.ejb3.invocation] (Thread-36 (HornetQ-client-global-threads-1382678626)) JBAS014134: EJB Invocation failed on component EngineBMT for method public abstract java.lang.Object[] com.pega.pegarules.internal.etier.interfaces.EngineBI.invokeEngine(java.lang.String,java.lang.Object[]) throws java.lang.Exception,com.pega.pegarules.pub.services.PRApplicationException: javax.ejb.EJBException: java.lang.NullPointerException
[PegaRULES:07.10] (pegarules.resadap.RAClient) ERROR - Caught exception while creating Connection, javax.resource.ResourceException: IJ000453: Unable to get managed connection for java:/eis/PRAdapterConnectionFactory
284 SEVERE [com.pega.pegarules.internal.bootstrap.PRBootstrap] (Thread-36 (HornetQ-client-global-threads-1382678626)) Problem during method invocation (invokeEngine): java.lang.NullPointerException
at com.pega.pegarules.session.internal.async.BatchUtils.callRAClient(BatchUtils.java:135)
at com.pega.pegarules.session.internal.async.agent.PRTimer.schedule(PRTimer.java:187)
at com.pega.pegarules.session.internal.async.agent.PRTimer.schedule(PRTimer.java:149) at com.pega.pegarules.session.internal.async.agent.PRTimerTask.schedule(PRTimerTask.java:116) at com.pega.pegarules.session.internal.async.AgentQueue.delayDueToProblem(AgentQueue.java:1128) at com.pega.pegarules.session.internal.async.AgentQueue.handleProblem(AgentQueue.java:1217)
Steps to Reproduce
Unknown
Root Cause
java:/eis/PRAdapterConnectionFactory was used for multi-threading. Application Servers (such as, WebSphere Application Server (WAS), JBoss) could not spawn threads as the new Thread() was not able to perform the action. The threads had to be created using the RAClient. The RAClient communicated with the Connector module to create the threads.
In this scenario, the default pool size (20) was not sufficient while creating multiple threads as the Pega platform was also spawning multiple threads for its functioning. This resulted in error messages in the logs.
Resolution
As a local-change, modify the max-pool-size value for the jboss-pradapter-ds.xml file.
Published February 9, 2018 - 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.