commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hontvari Jozsef (JIRA)" <>
Subject [jira] Commented: (DBCP-329) SQLException: Already closed.
Date Mon, 29 Mar 2010 14:53:28 GMT


Hontvari Jozsef commented on DBCP-329:

I inserted some additional logging to debug this case, and indeed it hides another exception:
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet successfully received from the server was 8,064,672 milliseconds ago.  The
last packet sent successfully to the server was 8,064,672 milliseconds ago.
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(
	at java.lang.reflect.Constructor.newInstance(
	at com.mysql.jdbc.Util.handleNewInstance(
	at com.mysql.jdbc.SQLError.createCommunicationsException(
	at com.mysql.jdbc.MysqlIO.send(
	at com.mysql.jdbc.MysqlIO.sendCommand(
	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(
	at com.mysql.jdbc.ConnectionImpl.execSQL(
	at com.mysql.jdbc.PreparedStatement.executeInternal(
	at com.mysql.jdbc.PreparedStatement.executeQuery(
	at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(
	at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(
	at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(
Caused by: Connection reset by peer: socket write error
	at Method)
	at com.mysql.jdbc.MysqlIO.send(
	... 34 common frames omitted

So the latter exception is not related to DBCP, only the "already closed" in my original report.

> SQLException: Already closed.
> -----------------------------
>                 Key: DBCP-329
>                 URL:
>             Project: Commons Dbcp
>          Issue Type: Bug
>    Affects Versions: 1.4
>         Environment: MySQL
>            Reporter: Hontvari Jozsef
> After upgrading to 1.4 I see such exceptions logged:
> java.sql.SQLException: Already closed.
> 	at org.apache.commons.dbcp.PoolableConnection.close(
> 	at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.close(
> 	...
> This should never happen. According to the Connection.close() javadoc: 
> "Calling the method close on a Connection object that is already closed is a no-op."
> Moreover, I am pretty sure that our code does not close the connection twice. But because
the close() is called in a finally block, it is possible that this exception hides another
exception. Unfortunately I cannot reproduce it, even though it occurs regularly.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message