[prev in list] [next in list] [prev in thread] [next in thread]
List: jakarta-commons-dev
Subject: [jira] [Resolved] (DBCP-390) calling invalidObject(badConnection) damage the counting of the objects
From: "Mark Thomas (JIRA)" <jira () apache ! org>
Date: 2014-01-31 19:44:12
Message-ID: JIRA.12601592.1344276095095.19133.1391197452743 () arcas
[Download RAW message or body]
[ https://issues.apache.org/jira/browse/DBCP-390?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel \
]
Mark Thomas resolved DBCP-390.
------------------------------
Resolution: Cannot Reproduce
From the description provided I can't reproduce this. All the code paths I can see \
where a Factory might return a null connection trigger an ISE.
Please feel free to re-open this issue if you can provide a JUnit test case that \
demonstrates the issue.
Note that this issue will not affect DBCP 2.x as it depends on Pool 2.x that \
implements full object tracking and is therefore able to keep a better tracl of the \
number of active and idle objects.
> calling invalidObject(badConnection) damage the counting of the objects in the \
> pool.
> -------------------------------------------------------------------------------------
>
> Key: DBCP-390
> URL: https://issues.apache.org/jira/browse/DBCP-390
> Project: Commons Dbcp
> Issue Type: Bug
> Affects Versions: 1.4
> Environment: All env
> Reporter: neng xu
>
> We are using DBCP pool. The pattern of using DBCP pool is same as Apache DBCP pool \
> example PoolingDataSourceDataSourceExample.java. When cleaning bad connections, I \
> noticed that it called pool.invalidObject(object) method to clean the bad \
> connection object from the pool. Recently we found that calling \
> invalidObject(object) could damage the number of active connections of the pool \
> because this method always silently reduce the number regardless the objects was \
> removed from pool or not. For example, when the connection object is null \
> (creating database connection timeout happens), calling \
> invalidObject(badConnection) would cause the number of Active connections to be \
> reduce one even the method did not remove any object from pool. This damage the \
> counting of the object in the pool. This method should only reduce the number of \
> the objects in the pool when it successfully removed an object from \
> the pool.
> Note: I understand that we may resolve the problem by checking object is null (or \
> object is in pool) before calling invalidObject() method. But I think it is just a \
> first-aid solution.
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic