BasicDataSource returns negative values for NumActive when Oracle Driver Connection#isClosed return true (End of file communication on CHannel) -----------------------------------------------------------------------------------------------------------------------------------------------
Key: DBCP-193 URL: http://issues.apache.org/jira/browse/DBCP-193 Project: Commons Dbcp Type: Bug Versions: 1.2.1, 1.2.2 Environment: Windows / Oracle 10G JDBC driver / Oracle 10G / JDK 1.4.2_08 / Commons-dbcp-1.2.1.jar / COmmons-pool-1.3.jar Reporter: Philippe Mouawad Priority: Blocker Hello, This bug occurs if the following conditions are met: A End of File communication on CHannel occurs Oracle Driver 10G will return true for Connection#isClosed() Related bugs: http://issues.apache.org/jira/browse/DBCP-3 http://issues.apache.org/jira/browse/DBCP-28 Case 1: The client calls isClosed() before closing a connection since commons-dbcp does not allow double close without throwing (see http://issues.apache.org/jira/browse/DBCP-3) => The problem is that since he calls isClosed, he encounters the same bug reported in http://issues.apache.org/jira/browse/DBCP-28 because conn.isClosed() will return true and the client will not call close. if (!conn.isClosed()) { try{ conn.close(); }catch(Exception e){} } see what happens if the isClosed() in PoolableConnection returns true : ShowsLeaksIfCheckForIsClosed.java Case2: The client tries to find a solution, and calls conn.close() without checking isClosed(), but the problem is that the client is in a Persistence fwk and the client may have already called close, so he ends up calling close() twice, see what happens if the isClosed() in PoolableConnection returns true : ShowsBasicDataSourceBadNumActiveIfNoCheckForIsClosedAndDoubleClose.java -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]