commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mike Bartlett (JIRA)" <j...@apache.org>
Subject [jira] Created: (DBCP-339) orphaned connectionPools created on Exception within createDataSource method
Date Thu, 08 Jul 2010 16:43:50 GMT
orphaned connectionPools created on Exception within createDataSource method
----------------------------------------------------------------------------

                 Key: DBCP-339
                 URL: https://issues.apache.org/jira/browse/DBCP-339
             Project: Commons Dbcp
          Issue Type: Bug
    Affects Versions: 1.4, 1.3, 1.2.2
         Environment: Linux
MySQL 5.1.47
JDK 1.6
commonsPool 1.5.4
            Reporter: Mike Bartlett


When an Exception is thrown in the BasicDataSource.createDataSource after the connectionPool
instance variable has been set the connectionPool is not closed.

If the timeBetweenEvictionRunsMillis is greater than zero a TaskTimer evictor is created in
the GenericObjectPool. This TaskTimer keeps running even though the DataSource was not successfully
created. The evictor when it runs will attempt to create connections for this orphaned connectionPool
up to the min connections (minIdle).

If the database is down when the createDataSource is called an Exception will be thrown and
an orphaned connectionPool will be created. If serveral retries are attempted while the database
is down several orphaned connectionPools are created. Once the database is back up, all these
orphaned connectionPool's evitor threads will attempt to created minIdle connections to the
database. This exhausts the max num connections on the database.

One solution to to close the connectionPool when an Exception is thrown within the createDataSource
method.



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


Mime
View raw message