You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by "Philippe Mouawad (JIRA)" <ji...@apache.org> on 2006/07/12 23:30:30 UTC
[jira] Created: (DBCP-193) BasicDataSource returns negative values
for NumActive when Oracle Driver Connection#isClosed return true (End of
file communication on CHannel)
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: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org
[jira] Updated: (DBCP-193) BasicDataSource returns negative values
for NumActive when Oracle Driver Connection#isClosed return true (End of
file communication on CHannel)
Posted by "Henri Yandell (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/DBCP-193?page=all ]
Henri Yandell updated DBCP-193:
-------------------------------
Description:
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:
DBCP-3
DBCP-28
Case 1:
The client calls isClosed() before closing a connection since commons-dbcp does not allow double close without throwing (see DBCP-3)
=> The problem is that since he calls isClosed, he encounters the same bug reported in 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
was:
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
Changing links to just be the keys so we get the nice strikethroughs to show things are fixed.
> 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
> Issue Type: Bug
> Affects 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
> Fix For: 1.3
>
> Attachments: ShowsBasicDataSourceBadNumActiveIfNoCheckForIsClosedAndDoubleClose.java, ShowsLeaksIfCheckForIsClosed.java, TestUtils.java
>
>
> 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:
> DBCP-3
> DBCP-28
> Case 1:
> The client calls isClosed() before closing a connection since commons-dbcp does not allow double close without throwing (see DBCP-3)
> => The problem is that since he calls isClosed, he encounters the same bug reported in 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: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org
[jira] Updated: (DBCP-193) BasicDataSource returns negative values
for NumActive when Oracle Driver Connection#isClosed return true (End of
file communication on CHannel)
Posted by "Phil Steitz (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/DBCP-193?page=all ]
Phil Steitz updated DBCP-193:
-----------------------------
Fix Version/s: 1.3
> 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
> Issue Type: Bug
> Affects 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
> Fix For: 1.3
>
> Attachments: ShowsBasicDataSourceBadNumActiveIfNoCheckForIsClosedAndDoubleClose.java, ShowsLeaksIfCheckForIsClosed.java, TestUtils.java
>
>
> 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: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org
[jira] Commented: (DBCP-193) BasicDataSource returns negative
values for NumActive when Oracle Driver Connection#isClosed return true
(End of file communication on CHannel)
Posted by "Henri Yandell (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/DBCP-193?page=comments#action_12455453 ]
Henri Yandell commented on DBCP-193:
------------------------------------
Does DBCP-28 being fixed invalidate this issue as a problem?
> 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
> Issue Type: Bug
> Affects 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
> Fix For: 1.3
>
> Attachments: ShowsBasicDataSourceBadNumActiveIfNoCheckForIsClosedAndDoubleClose.java, ShowsLeaksIfCheckForIsClosed.java, TestUtils.java
>
>
> 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:
> DBCP-3
> DBCP-28
> Case 1:
> The client calls isClosed() before closing a connection since commons-dbcp does not allow double close without throwing (see DBCP-3)
> => The problem is that since he calls isClosed, he encounters the same bug reported in 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: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org
[jira] Updated: (DBCP-193) BasicDataSource returns negative values
for NumActive when Oracle Driver Connection#isClosed return true (End of
file communication on CHannel)
Posted by "Philippe Mouawad (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/DBCP-193?page=all ]
Philippe Mouawad updated DBCP-193:
----------------------------------
Attachment: ShowsBasicDataSourceBadNumActiveIfNoCheckForIsClosedAndDoubleClose.java
ShowsLeaksIfCheckForIsClosed.java
TestUtils.java
To work, the call isClosed() in PoolableConnection.java must return true (Case of an End of communication on channel in Oracle):
public synchronized void close() throws SQLException {
boolean isClosed = false;
try {
isClosed = isClosed();
> 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
> Attachments: ShowsBasicDataSourceBadNumActiveIfNoCheckForIsClosedAndDoubleClose.java, ShowsLeaksIfCheckForIsClosed.java, TestUtils.java
>
> 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: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org
[jira] Commented: (DBCP-193) BasicDataSource returns negative
values for NumActive when Oracle Driver Connection#isClosed return true
(End of file communication on CHannel)
Posted by "Phil Steitz (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/DBCP-193?page=comments#action_12457147 ]
Phil Steitz commented on DBCP-193:
----------------------------------
No (Hen), I think this remains a problem and will be fixed when we fix close semantics in 1.3
> 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
> Issue Type: Bug
> Affects 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
> Fix For: 1.3
>
> Attachments: ShowsBasicDataSourceBadNumActiveIfNoCheckForIsClosedAndDoubleClose.java, ShowsLeaksIfCheckForIsClosed.java, TestUtils.java
>
>
> 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:
> DBCP-3
> DBCP-28
> Case 1:
> The client calls isClosed() before closing a connection since commons-dbcp does not allow double close without throwing (see DBCP-3)
> => The problem is that since he calls isClosed, he encounters the same bug reported in 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: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org
[jira] Resolved: (DBCP-193) BasicDataSource returns negative values
for NumActive when Oracle Driver Connection#isClosed return true (End of
file communication on CHannel)
Posted by "Phil Steitz (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/DBCP-193?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Phil Steitz resolved DBCP-193.
------------------------------
Resolution: Fixed
Related multiple close bugs are fixed, so this issue should be resolved.
> BasicDataSource returns negative values for NumActive when Oracle Driver Connection#isClosed return true (End of file communication on CHannel)
> -----------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: DBCP-193
> URL: https://issues.apache.org/jira/browse/DBCP-193
> Project: Commons Dbcp
> Issue Type: Bug
> Affects 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
> Fix For: 1.3
>
> Attachments: ShowsBasicDataSourceBadNumActiveIfNoCheckForIsClosedAndDoubleClose.java, ShowsLeaksIfCheckForIsClosed.java, TestUtils.java
>
>
> 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:
> DBCP-3
> DBCP-28
> Case 1:
> The client calls isClosed() before closing a connection since commons-dbcp does not allow double close without throwing (see DBCP-3)
> => The problem is that since he calls isClosed, he encounters the same bug reported in 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.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org