6 Replies Latest reply on Sep 17, 2013 10:33 AM by jesper.pedersen

    JB 7 Connection Pooling stuck at getConnectionProperties

    sanmo

      I am running Jboss 7.1.1 with a proprietary JDBC driver for a proprietary database. We recently upgraded from JBoss 5 to Jboss 7. We have a min-pool-size of 15 and max-pool-size of 30. We get about 30 concurrent transactions which require 100% database connections for a particular transaction. We have several datasources and we receive about 400 concurrent transactions. The server is using 2GB RAM running on 64bit JDK 6.0.

       

      We have been noticing slow response times for many requests ranging from 20 sec to 30 seconds.  The memory consumption and GC is looking very good. When we run Thread Sampling we see that there are always about 80 to 90 threads in waiting.

       

      Further investigation shows that the code Is waiting to get the resource getConnectionProperties in the BaseWrapperManagedConnectionFactory class. Looks like that method is synchronized. The requests are spending about 30 seconds and sometimes 60 seconds there waiting for that resource. This implementation is in the ironjcamar-1.0.9.Final.jar used in JBoss 7.1.1.

       

      The same issue exists in EAP 6 which uses ironjcamar-1.0.15.Final.jar.

       

      Here are some screen shots which may help show the issue.

       

      This one shows that the code is waiting in a sync state on getConnectionProperties() method.

       

      Capture1.PNG

      The next two images are from the Thread sampling taken 30 seconds apart.

      Capture2.PNGCapture3.PNG

       

      The next image shows the name and number of the threads waiting. The highlighted ones are my requests.

      Capture4.PNG

      We did not have this issue in JBoss 5.1.0. What is going on with the getConnectionProperties(). Is there an alternative?

       

      Thanks