commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Phil Steitz (JIRA)" <>
Subject [jira] [Closed] (DBCP-339) orphaned connectionPools created on Exception within createDataSource method
Date Sun, 24 Apr 2011 00:27:05 GMT


Phil Steitz closed DBCP-339.

    Resolution: Duplicate

Closing as duplicate of DBCP-342.  Technically, it is the other way around (this issue was
raised earlier), but DBCP-342 has fuller discussion and patch.

> orphaned connectionPools created on Exception within createDataSource method
> ----------------------------------------------------------------------------
>                 Key: DBCP-339
>                 URL:
>             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
>             Fix For: 1.3.1, 1.4.1
>         Attachments: DBCP-339.patch
> 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

This message is automatically generated by JIRA.
For more information on JIRA, see:

View raw message