orbeon mysql timeout crash

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

orbeon mysql timeout crash

aero
Hello, I'm using orbeon with mysql. After a period of a few hours of server inactivity (more than session timeout) when I try to load Orbeon Form runner it crashes starting with the message below. Basically it seems that mysql has already closed the Orbeon connection, and Orbeon still thinks the database connection should be up and tries to use it. How do I fix this issue? How do I set the timeout parameters so Orbeon knows that mysql has already closed the connection and it should start a new one?

Thank you

2012-02-29 08:03:52,051 ERROR SQLProcessor  - PreparedStatement:
null
2012-02-29 08:03:52,052 ERROR ProcessorService  - Exception at oxf:/apps/fr/persistence/mysql/crud.xpl (executing XSLT transformation)
java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.
        at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2552)
        at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3002)
        at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2991)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3532)
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2002)
        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2163)
        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2618)
        at com.mysql.jdbc.ConnectionImpl.setAutoCommit(ConnectionImpl.java:5000)
        at org.apache.commons.dbcp.DelegatingConnection.setAutoCommit(DelegatingConnection.java:371)
        at org.apache.commons.dbcp.DelegatingConnection.setAutoCommit(DelegatingConnection.java:371)
        at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.setAutoCommit(PoolingDataSource.java:328)
        at org.orbeon.oxf.processor.DatabaseContext.setConnectionProperties(DatabaseContext.java:124)
        at org.orbeon.oxf.processor.DatabaseContext.getConnection(DatabaseContext.java:62)
        at org.orbeon.oxf.processor.sql.SQLProcessorInterpreterContext.getConnection(SQLProcessorInterpreterContext.java:334)
        at org.orbeon.oxf.processor.sql.interpreters.QueryInterpreter.end(QueryInterpreter.java:173)
Reply | Threaded
Open this post in threaded view
|

Re: orbeon mysql timeout crash

aero
I modified the mysql server wait_timeout to 10 seconds (default is 8 hours) which means the mysql server will drop idle database connections after 10 seconds. This makes Orbeon continually crash (lost db connection) if there's no database queries in form runner for 10 seconds, ie. it assumes the database connection is still available when a new query happens. So basically, Orbeon never closes its database connection. Can any of the developers suggest a fix for this?

Thanks