[
https://issues.apache.org/jira/browse/DBCP-339?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12887192#action_12887192
]
Phil Steitz commented on DBCP-339:
----------------------------------
Thank you for reporting this. Patches welcome!
> 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.2.2, 1.3, 1.4
> 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.