Support Article

The application becomes unresponsive during load test

SA-30055

Summary



The application becomes unresponsive during load test. It is a single node instance and is failing to get managed connection for java:/eis/PRAdapterCF while ramping up user load.


Error Messages

2016-09-21 16:11:42,179 [-threads-2011346760)] [ STANDARD] [ ] [ PegaCALL:07.13] ( pegarules.resadap.RAClient) ERROR - Caught exception while creating Connection, javax.resource.ResourceException: IJ000453: Unable to get managed connection for java:/eis/PRAdapterCF
2016-09-21 16:11:43,232 [/IPADDRESS:8080-10] [TABTHREAD1] [ RBC] [ APPNAME:01.54.01] ( pegarules.resadap.RAClient) ERROR pegatestrbc|IPADDRESS TestXXXCSRload51 - Caught exception while creating Connection, javax.resource.ResourceException: IJ000453: Unable to get managed connection for java:/eis/PRAdapterCF
2016-09-21 16:11:43,234 [-/IPADDRESS:8080-5] [TABTHREAD1] [ RBC] [ APPNAME:01.54.01] ( pegarules.resadap.RAClient) ERROR pegatestrbc|IPADDRESS TestXXXCSRload72 - Caught exception while creating Connection, javax.resource.ResourceException: IJ000453: Unable to get managed connection for java:/eis/PRAdapterCF


Steps to Reproduce



1. Run load test scripst by gradually ramping up user load.


Root Cause



A defect or configuration issue in the operating environment. The resource adapater connection pool implementation for JBOSS (IronJacamar) was not tuned approriately to cater to user / application load.

Resolution



Make the following change to the operating environment:

1.    Please modify the “ironjacamar.xml” as below and repackage this into the prpc_j2ee14_jboss61JBM.ear/pradapter.rar/META-INF replacing the existing one. 

<?xml version="1.0" encoding="UTF-8"?>
<ironjacamar>
    <transaction-support>NoTransaction</transaction-support>
    <connection-definitions>
      <connection-definition class-name="com.pega.pegarules.ra.spi.PRManagedConnectionFactoryImpl" enabled="true" jndi-name="eis/PRAdapterCF" pool-name="Connection" use-ccm="false" use-java-context="true">
        <config-property name="asyncConnectionFactory">java:comp/env/jms/tcf/Async</config-property>
        <config-property name="asyncQueue">java:comp/env/jms/topic/AsyncTrigger</config-property>
        <pool>
          <min-pool-size>150</min-pool-size>
          <max-pool-size>300</max-pool-size>
          <prefill>true</prefill>
          <use-strict-min>true</use-strict-min>
          <flush-strategy>FailingConnectionOnly</flush-strategy>
        </pool>
        <security>
          <application/>
        </security>
           <timeout>
                <blocking-timeout-millis>30000</blocking-timeout-millis>
                <idle-timeout-minutes>5</idle-timeout-minutes>
           </timeout>
           <validation>
                <background-validation>true</background-validation>
                <use-fast-fail>true</use-fast-fail>
           </validation>
      </connection-definition>
    </connection-definitions>
</ironjacamar>
 
2.       Re-deploy the re-packaged prpc_j2ee14_jboss61JBM.ear into your JBoss EAP6.1 server.
3.       And Restart server/application.

Published November 5, 2016 - Updated November 23, 2016


66% found this useful

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.