geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eric Phetteplace (JIRA)" <>
Subject [jira] Created: (GERONIMO-4993) Requests for db pool resources will exceed Max Pool Size when EJBNetworkService beans are all busy
Date Sat, 19 Dec 2009 18:24:18 GMT
Requests for db pool resources will exceed Max Pool Size when EJBNetworkService beans are all

                 Key: GERONIMO-4993
             Project: Geronimo
          Issue Type: Bug
      Security Level: public (Regular issues)
    Affects Versions: 2.1.3, 2.2
         Environment: Linux and Windows XP
            Reporter: Eric Phetteplace

In production, I have 100 EJBNetworkService threads.  It works OK until there's a spike in
traffic and all the threads are being used, and the 40 "max pool size" is ignored, and Geronimo
makes 100's of DB connections.

In production, I am using an Oracle DB pool, so the DBAs aren't happy when my servers use
up all the available server connections.

To recreate:

1.  Change config.xml and start Geronimo:
    <module name="org.apache.geronimo.configs/openejb/2.2-SNAPSHOT/car">
        <gbean name="EJBNetworkService">
            <attribute name="port">${OpenEJBPort + PortOffset}</attribute>
            <attribute name="host">${ServerHostname}</attribute>
            <attribute name="multicastHost">${MulticastDiscoveryAddress}</attribute>
            <attribute name="multicastPort">${MulticastDiscoveryPort}</attribute>
            <attribute name="clusterName">${ClusterName}</attribute>
            *<attribute name="threads">5</attribute>*

2.  Reconfigure the jdbc/ArchiveDS DB Pool:
Max Pool Size: 3
Blocking Timeout: 1000
Idle Timeout: 1

3.  Install WAR 
4.  In web browser, go to http://localhost:8080/PoolTest/PoolTest.  Reload it 5 times.  Take
your time It should be fine, and will give you an error when the pool is maxed.
5.  In JMX Viewer, go to Geronimo MBeans, JCAConnectionManager, and pull up jdbc/ArchiveDS.
 Note the connection count.  Looks good.
6.  Wait for the connection count to return to 0.
7.  In your browser, hold down F5 so the page reloads many times.
8.  Observe the connection count again.  It will be over connections.
9.  If you repeat 6-9 you can easily get > 20 connections.  I just held F5 for 6 seconds
and there are 60 connections.

I will attach WAR (I don't see an option on this screen).

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message