Mysql exception caused byclosed connection

From: mr.abanjo (mr.abanj..mail.com)
Date: Thu May 27 2010 - 12:32:44 UTC

  • Next message: Bryan Lewis: "Re: Relationship Fetching Behavior and Case Sensetivity"

    Hi,
    i have a problem with MYSQL.
    When i try to perform a query (a simple select) i receive an exception.
    This happens only when i wait (doing nothing) for a 2 minutes. After this
    next queries works well.
    It seems that the connection was unexplectly closed.
    I thinked about a socket timeout on a firewall, but my collegues (net team)
    guarantee me that there ins't any firewall in the connection between the
    front end server and the database server.
    So i really don't know why this happens.
    I tryed with "autoReconnectForPools=true" in a mysql connection string, but
    the problem still persist.
    Anyone has suggests?
    Thanks
    Davide

    P.S. i'm using cayenne 3.0

    [27-05-2010 14:05:39.751] *** error.
    [27-05-2010 14:05:39.751] com.mysql.jdbc.CommunicationsException:
    Communications link failure due to underlying exception:
    [27-05-2010 14:05:39.751]
    [27-05-2010 14:05:39.751] ** BEGIN NESTED EXCEPTION **
    [27-05-2010 14:05:39.751]
    [27-05-2010 14:05:39.751] java.net.SocketException
    [27-05-2010 14:05:39.751] MESSAGE: Broken pipe
    [27-05-2010 14:05:39.751]
    [27-05-2010 14:05:39.751] STACKTRACE:
    [27-05-2010 14:05:39.751]
    [27-05-2010 14:05:39.751] java.net.SocketException: Broken pipe
    [27-05-2010 14:05:39.751] at
    java.net.SocketOutputStream.socketWrite0(Native Method)
    [27-05-2010 14:05:39.751] at
    java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
    [27-05-2010 14:05:39.751] at
    java.net.SocketOutputStream.write(SocketOutputStream.java:136)
    [27-05-2010 14:05:39.751] at
    java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
    [27-05-2010 14:05:39.751] at
    java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
    [27-05-2010 14:05:39.751] at
    com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2744)
    [27-05-2010 14:05:39.751] at
    com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1612)
    [27-05-2010 14:05:39.751] at
    com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723)
    [27-05-2010 14:05:39.751] at
    com.mysql.jdbc.Connection.execSQL(Connection.java:3283)
    [27-05-2010 14:05:39.751] at
    com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1332)
    [27-05-2010 14:05:39.751] at
    com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1467)
    [27-05-2010 14:05:39.751] at
    com.caucho.sql.UserPreparedStatement.executeQuery(UserPreparedStatement.java:90)
    [27-05-2010 14:05:39.751] at
    com.caucho.sql.UserPreparedStatement.executeQuery(UserPreparedStatement.java:90)
    [27-05-2010 14:05:39.751] at
    org.apache.cayenne.access.jdbc.SelectAction.performAction(SelectAction.java:71)
    [27-05-2010 14:05:39.751] at
    org.apache.cayenne.access.DataNodeQueryAction.runQuery(DataNodeQueryAction.java:87)
    [27-05-2010 14:05:39.751] at
    org.apache.cayenne.access.DataNode.performQueries(DataNode.java:269)
    [27-05-2010 14:05:39.751] at
    org.apache.cayenne.access.DataDomainQueryAction.runQuery(DataDomainQueryAction.java:422)
    [27-05-2010 14:05:39.751] at
    org.apache.cayenne.access.DataDomainQueryAction.access$000(DataDomainQueryAction.java:69)
    [27-05-2010 14:05:39.751] at
    org.apache.cayenne.access.DataDomainQueryAction$2.transform(DataDomainQueryAction.java:395)
    [27-05-2010 14:05:39.751] at
    org.apache.cayenne.access.DataDomain.runInTransaction(DataDomain.java:850)
    [27-05-2010 14:05:39.751] at
    org.apache.cayenne.access.DataDomainQueryAction.runQueryInTransaction(DataDomainQueryAction.java:392)
    [27-05-2010 14:05:39.751] at
    org.apache.cayenne.access.DataDomainQueryAction.execute(DataDomainQueryAction.java:121)
    [27-05-2010 14:05:39.751] at
    org.apache.cayenne.access.DataDomain.onQuery(DataDomain.java:743)
    [27-05-2010 14:05:39.751] at
    org.apache.cayenne.util.ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:333)
    [27-05-2010 14:05:39.751] at
    org.apache.cayenne.util.ObjectContextQueryAction.execute(ObjectContextQueryAction.java:96)
    [27-05-2010 14:05:39.751] at
    org.apache.cayenne.access.DataContext.onQuery(DataContext.java:1278)
    [27-05-2010 14:05:39.751] at
    org.apache.cayenne.access.DataContext.performQuery(DataContext.java:1267)
    ...........
    .........
    [27-05-2010 14:05:39.751]
    [27-05-2010 14:05:39.751] ** END NESTED EXCEPTION **
    [27-05-2010 14:05:39.751]
    [27-05-2010 14:05:39.751]
    [27-05-2010 14:05:39.751]
    [27-05-2010 14:05:39.751] Last packet sent to the server was 0 ms ago.
    [27-05-2010 14:05:39.751] at
    com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2759)
    [27-05-2010 14:05:39.751] at
    com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1612)
    [27-05-2010 14:05:39.751] at
    com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723)
    [27-05-2010 14:05:39.751] at
    com.mysql.jdbc.Connection.execSQL(Connection.java:3283)
    [27-05-2010 14:05:39.751] at
    com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1332)
    [27-05-2010 14:05:39.751] at
    com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1467)
    [27-05-2010 14:05:39.751] at
    com.caucho.sql.UserPreparedStatement.executeQuery(UserPreparedStatement.java:90)
    [27-05-2010 14:05:39.751] at
    com.caucho.sql.UserPreparedStatement.executeQuery(UserPreparedStatement.java:90)
    [27-05-2010 14:05:39.751] at
    org.apache.cayenne.access.jdbc.SelectAction.performAction(SelectAction.java:71)
    [27-05-2010 14:05:39.751] at
    org.apache.cayenne.access.DataNodeQueryAction.runQuery(DataNodeQueryAction.java:87)
    [27-05-2010 14:05:39.751] at
    org.apache.cayenne.access.DataNode.performQueries(DataNode.java:269)
    [27-05-2010 14:05:39.751] at
    org.apache.cayenne.access.DataDomainQueryAction.runQuery(DataDomainQueryAction.java:422)
    [27-05-2010 14:05:39.751] at
    org.apache.cayenne.access.DataDomainQueryAction.access$000(DataDomainQueryAction.java:69)
    [27-05-2010 14:05:39.751] at
    org.apache.cayenne.access.DataDomainQueryAction$2.transform(DataDomainQueryAction.java:395)
    [27-05-2010 14:05:39.751] at
    org.apache.cayenne.access.DataDomain.runInTransaction(DataDomain.java:850)
    [27-05-2010 14:05:39.751] at
    org.apache.cayenne.access.DataDomainQueryAction.runQueryInTransaction(DataDomainQueryAction.java:392)
    [27-05-2010 14:05:39.751] at
    org.apache.cayenne.access.DataDomainQueryAction.execute(DataDomainQueryAction.java:121)
    [27-05-2010 14:05:39.751] at
    org.apache.cayenne.access.DataDomain.onQuery(DataDomain.java:743)
    [27-05-2010 14:05:39.751] at
    org.apache.cayenne.util.ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:333)
    [27-05-2010 14:05:39.751] at
    org.apache.cayenne.util.ObjectContextQueryAction.execute(ObjectContextQueryAction.java:96)
    [27-05-2010 14:05:39.751] at
    org.apache.cayenne.access.DataContext.onQuery(DataContext.java:1278)
    [27-05-2010 14:05:39.751] at
    org.apache.cayenne.access.DataContext.performQuery(DataContext.java:1267)
    ......................
    [27-05-2010 14:05:39.757] *** error.
    [27-05-2010 14:05:39.757]
    com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException:
    Connection.close() has already been called. Invalid operation in this state.
    [27-05-2010 14:05:39.757] at
    com.mysql.jdbc.SQLError.createSQLException(SQLError.java:888)
    [27-05-2010 14:05:39.757] at
    com.mysql.jdbc.Connection.getMutex(Connection.java:3755)
    [27-05-2010 14:05:39.757] at
    com.mysql.jdbc.Connection.rollback(Connection.java:5251)
    [27-05-2010 14:05:39.757] at
    com.caucho.sql.UserConnection.rollback(UserConnection.java:650)
    [27-05-2010 14:05:39.757] at
    org.apache.cayenne.access.InternalTransaction.processRollback(InternalTransaction.java:123)
    [27-05-2010 14:05:39.757] at
    org.apache.cayenne.access.ExternalTransaction.rollback(ExternalTransaction.java:130)
    [27-05-2010 14:05:39.757] at
    org.apache.cayenne.access.DataDomain.runInTransaction(DataDomain.java:869)
    [27-05-2010 14:05:39.757] at
    org.apache.cayenne.access.DataDomainQueryAction.runQueryInTransaction(DataDomainQueryAction.java:392)
    [27-05-2010 14:05:39.757] at
    org.apache.cayenne.access.DataDomainQueryAction.execute(DataDomainQueryAction.java:121)
    [27-05-2010 14:05:39.757] at
    org.apache.cayenne.access.DataDomain.onQuery(DataDomain.java:743)
    [27-05-2010 14:05:39.757] at
    org.apache.cayenne.util.ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:333)
    [27-05-2010 14:05:39.757] at
    org.apache.cayenne.util.ObjectContextQueryAction.execute(ObjectContextQueryAction.java:96)
    [27-05-2010 14:05:39.757] at
    org.apache.cayenne.access.DataContext.onQuery(DataContext.java:1278)
    [27-05-2010 14:05:39.757] at
    org.apache.cayenne.access.DataContext.performQuery(DataContext.java:1267)
    .................
    [27-05-2010 14:05:39.760] ** BEGIN NESTED EXCEPTION **
    [27-05-2010 14:05:39.760]
    [27-05-2010 14:05:39.760] java.net.SocketException
    [27-05-2010 14:05:39.760] MESSAGE: Broken pipe
    [27-05-2010 14:05:39.760]
    [27-05-2010 14:05:39.760] STACKTRACE:
    [27-05-2010 14:05:39.760]
    [27-05-2010 14:05:39.760] java.net.SocketException: Broken pipe
    [27-05-2010 14:05:39.760] at
    java.net.SocketOutputStream.socketWrite0(Native Method)
    [27-05-2010 14:05:39.760] at
    java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
    [27-05-2010 14:05:39.760] at
    java.net.SocketOutputStream.write(SocketOutputStream.java:136)
    [27-05-2010 14:05:39.760] at
    java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
    [27-05-2010 14:05:39.760] at
    java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
    [27-05-2010 14:05:39.760] at
    com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2744)
    [27-05-2010 14:05:39.760] at
    com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1612)
    [27-05-2010 14:05:39.760] at
    com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723)
    [27-05-2010 14:05:39.760] at
    com.mysql.jdbc.Connection.execSQL(Connection.java:3283)
    [27-05-2010 14:05:39.760] at
    com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1332)
    [27-05-2010 14:05:39.760] at
    com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1467)
    [27-05-2010 14:05:39.760] at
    com.caucho.sql.UserPreparedStatement.executeQuery(UserPreparedStatement.java:90)
    [27-05-2010 14:05:39.760] at
    com.caucho.sql.UserPreparedStatement.executeQuery(UserPreparedStatement.java:90)
    [27-05-2010 14:05:39.760] at
    org.apache.cayenne.access.jdbc.SelectAction.performAction(SelectAction.java:71)
    [27-05-2010 14:05:39.760] at
    org.apache.cayenne.access.DataNodeQueryAction.runQuery(DataNodeQueryAction.java:87)
    [27-05-2010 14:05:39.760] at
    org.apache.cayenne.access.DataNode.performQueries(DataNode.java:269)
    [27-05-2010 14:05:39.760] at
    org.apache.cayenne.access.DataDomainQueryAction.runQuery(DataDomainQueryAction.java:422)
    [27-05-2010 14:05:39.760] at
    org.apache.cayenne.access.DataDomainQueryAction.access$000(DataDomainQueryAction.java:69)
    [27-05-2010 14:05:39.760] at
    org.apache.cayenne.access.DataDomainQueryAction$2.transform(DataDomainQueryAction.java:395)
    [27-05-2010 14:05:39.760] at
    org.apache.cayenne.access.DataDomain.runInTransaction(DataDomain.java:850)
    [27-05-2010 14:05:39.760] at
    org.apache.cayenne.access.DataDomainQueryAction.runQueryInTransaction(DataDomainQueryAction.java:392)
    [27-05-2010 14:05:39.760] at
    org.apache.cayenne.access.DataDomainQueryAction.execute(DataDomainQueryAction.java:121)
    [27-05-2010 14:05:39.760] at
    org.apache.cayenne.access.DataDomain.onQuery(DataDomain.java:743)
    [27-05-2010 14:05:39.760] at
    org.apache.cayenne.util.ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:333)
    [27-05-2010 14:05:39.760] at
    org.apache.cayenne.util.ObjectContextQueryAction.execute(ObjectContextQueryAction.java:96)
    [27-05-2010 14:05:39.760] at
    org.apache.cayenne.access.DataContext.onQuery(DataContext.java:1278)
    [27-05-2010 14:05:39.760] at
    org.apache.cayenne.access.DataContext.performQuery(DataContext.java:1267)
    [27-05-2010 14:05:39.760] at
    it..................rpreferenceloader.utils.SingleUserPreferenceService.loadByUid(SingleUserPreferenceService.java:50)
    [27-05-2010 14:05:39.760] at
    it.matrix.mobi.virgilio.userpreferenceloader.utils.SingleIstatReaderService.load(SingleIstatReaderService.java:56)
    [27-05-2010 14:05:39.760] at
    it.matrix.mobi.virgilio.micro.local.eventi.bean.EventiLocalBean.init(EventiLocalBean.java:39)
    [27-05-2010 14:05:39.760] at
    sun.reflect.GeneratedMethodAccessor62.invoke(Unknown Source)
    [27-05-2010 14:05:39.760] at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    [27-05-2010 14:05:39.760] at
    java.lang.reflect.Method.invoke(Method.java:597)
    [27-05-2010 14:05:39.760] at
    com.caucho.el.MethodExpr.getValue(MethodExpr.java:96)
    [27-05-2010 14:05:39.760] at
    com.caucho.el.Expr.evalObject(Expr.java:224)
    [27-05-2010 14:05:39.760] at
    _jsp._canali._eventi._listing__jsp._jspService(_listing__jsp.java:215)
    [27-05-2010 14:05:39.760] at
    com.caucho.jsp.JavaPage.service(JavaPage.java:61)
    [27-05-2010 14:05:39.760] at
    com.caucho.jsp.Page.pageservice(Page.java:587)
    [27-05-2010 14:05:39.760] at
    com.caucho.server.dispatch.PageFilterChain.doFilter(PageFilterChain.java:195)
    [27-05-2010 14:05:39.760] at
    com.caucho.tools.profiler.ProfilerFilter.doFilter(ProfilerFilter.java:147)
    [27-05-2010 14:05:39.760] at
    com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:87)
    [27-05-2010 14:05:39.760] at
    it.matrix.mobi.virgilio.micro.servlet.SetCookieSupportFilter.filter(SetCookieSupportFilter.java:37)
    [27-05-2010 14:05:39.760] at
    it.matrix.mobi.virgilio.micro.generic.GenericFilter.doFilter(GenericFilter.java:45)
    [27-05-2010 14:05:39.760] at
    com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:87)
    [27-05-2010 14:05:39.760] at
    com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:187)
    [27-05-2010 14:05:39.760] at
    com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:266)
    [27-05-2010 14:05:39.760] at
    com.caucho.server.hmux.HmuxRequest.handleRequest(HmuxRequest.java:435)
    [27-05-2010 14:05:39.760] at
    com.caucho.server.port.TcpConnection.run(TcpConnection.java:678)
    [27-05-2010 14:05:39.760] at
    com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:721)
    [27-05-2010 14:05:39.760] at
    com.caucho.util.ThreadPool$Item.run(ThreadPool.java:643)
    [27-05-2010 14:05:39.760] at java.lang.Thread.run(Thread.java:619)
    [27-05-2010 14:05:39.760]
    [27-05-2010 14:05:39.760]
    [27-05-2010 14:05:39.760] ** END NESTED EXCEPTION **
    [27-05-2010 14:05:39.760]
    [27-05-2010 14:05:39.760]
    [27-05-2010 14:05:39.760]
    [27-05-2010 14:05:39.760] Last packet sent to the server was 0 ms ago.
    [27-05-2010 14:05:39.760] at
    com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2759)
    [27-05-2010 14:05:39.760] at
    com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1612)
    [27-05-2010 14:05:39.760] at
    com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723)
    [27-05-2010 14:05:39.760] at
    com.mysql.jdbc.Connection.execSQL(Connection.java:3283)
    [27-05-2010 14:05:39.760] at
    com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1332)
    [27-05-2010 14:05:39.760] at
    com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1467)
    [27-05-2010 14:05:39.760] at
    com.caucho.sql.UserPreparedStatement.executeQuery(UserPreparedStatement.java:90)
    [27-05-2010 14:05:39.760] at
    com.caucho.sql.UserPreparedStatement.executeQuery(UserPreparedStatement.java:90)
    [27-05-2010 14:05:39.760] at
    org.apache.cayenne.access.jdbc.SelectAction.performAction(SelectAction.java:71)
    [27-05-2010 14:05:39.760] at
    org.apache.cayenne.access.DataNodeQueryAction.runQuery(DataNodeQueryAction.java:87)
    [27-05-2010 14:05:39.760] at
    org.apache.cayenne.access.DataNode.performQueries(DataNode.java:269)
    [27-05-2010 14:05:39.760] ... 35 more



    This archive was generated by hypermail 2.0.0 : Thu May 27 2010 - 12:33:25 UTC