geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "David Jencks (JIRA)" <>
Subject [jira] Commented: (GERONIMO-4993) Requests for db pool resources will exceed Max Pool Size when EJBNetworkService beans are all busy
Date Tue, 23 Feb 2010 23:58:27 GMT


David Jencks commented on GERONIMO-4993:

Unfortunately that build was made before the fix, so it would definitely illustrate the problem
We're working on getting a snapshot build out that includes the fix or if you are in a bigger
hurry you can try building the 2.1 branch yourself....

> Requests for db pool resources will exceed Max Pool Size when EJBNetworkService beans
are all busy
> --------------------------------------------------------------------------------------------------
>                 Key: GERONIMO-4993
>                 URL:
>             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
>            Assignee: David Jencks
>         Attachments: _PoolTest.war, screenshot-1.jpg
> 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>*
>         </gbean>
> 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