Hi,
I have been working around this issue for sometime now, but haven't figured out the desired results.
I have java hibernate and Mysql application. I get random stack traces:
18:28:13,163 DEBUG GooGooStatementCache:271 - checkinStatement(): com.mchange.v2.c3p0.stmt.GlobalMaxOnlyStatementCache stats -- total size: 300; checked out: 0; num connections: 3; num keys: 300
18:28:13,168 DEBUG GooGooStatementCache:697 - CULLING: select milestone0_.milestoneId as mileston1_27_, milestone0_.releaseId as releaseId27_, milestone0_.milestoneTypeId as mileston3_27_, milestone0_.milestoneDate as mileston4_27_, milestone0_.displayName as displayN5_27_, milestone0_.description as descript6_27_ from Milestone milestone0_ where milestone0_.releaseId=? and milestone0_.milestoneTypeId=?
18:28:13,168 WARN StatementUtils:48 - Statement close FAILED.
com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:
** BEGIN NESTED EXCEPTION **
java.net.SocketException
MESSAGE: Broken pipe
STACKTRACE:
java.net.SocketException: Broken pipe
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2637)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1554)
at com.mysql.jdbc.ServerPreparedStatement.realClose(ServerPreparedStatement.java:908)
at com.mysql.jdbc.ServerPreparedStatement.close(ServerPreparedStatement.java:476)
at com.mchange.v1.db.sql.StatementUtils.attemptClose(StatementUtils.java:41)
at com.mchange.v2.c3p0.stmt.GooGooStatementCache$1StatementCloseTask.run(GooGooStatementCache.java:404)
at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)
I am trying to log the closed statements but no luck so far. I am using log4j to log c3p0 and hibernate logs.
Is there a way to log the sql connections? Also is there any other solution?
Thanks,
Priyanka
I have been working around this issue for sometime now, but haven't figured out the desired results.
I have java hibernate and Mysql application. I get random stack traces:
18:28:13,163 DEBUG GooGooStatementCache:271 - checkinStatement(): com.mchange.v2.c3p0.stmt.GlobalMaxOnlyStatementCache stats -- total size: 300; checked out: 0; num connections: 3; num keys: 300
18:28:13,168 DEBUG GooGooStatementCache:697 - CULLING: select milestone0_.milestoneId as mileston1_27_, milestone0_.releaseId as releaseId27_, milestone0_.milestoneTypeId as mileston3_27_, milestone0_.milestoneDate as mileston4_27_, milestone0_.displayName as displayN5_27_, milestone0_.description as descript6_27_ from Milestone milestone0_ where milestone0_.releaseId=? and milestone0_.milestoneTypeId=?
18:28:13,168 WARN StatementUtils:48 - Statement close FAILED.
com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:
** BEGIN NESTED EXCEPTION **
java.net.SocketException
MESSAGE: Broken pipe
STACKTRACE:
java.net.SocketException: Broken pipe
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2637)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1554)
at com.mysql.jdbc.ServerPreparedStatement.realClose(ServerPreparedStatement.java:908)
at com.mysql.jdbc.ServerPreparedStatement.close(ServerPreparedStatement.java:476)
at com.mchange.v1.db.sql.StatementUtils.attemptClose(StatementUtils.java:41)
at com.mchange.v2.c3p0.stmt.GooGooStatementCache$1StatementCloseTask.run(GooGooStatementCache.java:404)
at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)
I am trying to log the closed statements but no luck so far. I am using log4j to log c3p0 and hibernate logs.
Is there a way to log the sql connections? Also is there any other solution?
Thanks,
Priyanka