You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geronimo.apache.org by "Rex Wang (JIRA)" <ji...@apache.org> on 2010/03/19 03:35:27 UTC

[jira] Closed: (GERONIMO-4993) Requests for db pool resources will exceed Max Pool Size when EJBNetworkService beans are all busy

     [ https://issues.apache.org/jira/browse/GERONIMO-4993?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rex Wang closed GERONIMO-4993.
------------------------------

    Resolution: Fixed

Close pre above comments, thanks Lu.

> Requests for db pool resources will exceed Max Pool Size when EJBNetworkService beans are all busy
> --------------------------------------------------------------------------------------------------
>
>                 Key: GERONIMO-4993
>                 URL: https://issues.apache.org/jira/browse/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
>            Assignee: David Jencks
>             Fix For: 2.1.5
>
>         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.