Hello folks,

I investigate a log and found out that we constantly fail to commit
objects to the database due to connection breaks (both 2.1.1 and 3.0
are affected). There are several options to resolve this in the error
message below. What is a preferable one?

Here is a sample exception:

FailedObject: select c from Sessiondata as c where c.session_id LIKE
:session_id [java.lang.String]
at 
org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:326)
~[org.springframework.orm-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at 
org.springframework.orm.jpa.DefaultJpaDialect.translateExceptionIfPossible(DefaultJpaDialect.java:120)
~[org.springframework.orm-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at 
org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:516)
~[org.springframework.orm-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at 
org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:754)
~[org.springframework.transaction-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at 
org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:723)
~[org.springframework.transaction-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at 
org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:393)
~[org.springframework.transaction-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at 
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:120)
~[org.springframework.transaction-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
~[spring-aop-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at 
org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:622)
~[spring-aop-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at 
org.apache.openmeetings.data.basic.SessiondataDao$$EnhancerByCGLIB$$d3b21640.checkSession(<generated>)
~[com.springsource.net.sf.cglib-2.2.0.jar:na]
at 
org.apache.openmeetings.servlet.outputhandler.DownloadHandler.service(DownloadHandler.java:96)
~[openmeetings-2.1.1-SNAPSHOT.jar:na]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
[tomcat-embed-core-jar-7.0.34.jar:7.0.34]
at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
[tomcat-embed-core-jar-7.0.34.jar:7.0.34]
at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
[tomcat-embed-core-jar-7.0.34.jar:7.0.34]
at org.red5.logging.LoggerContextFilter.doFilter(LoggerContextFilter.java:77)
[red5.jar:na]
at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
[tomcat-embed-core-jar-7.0.34.jar:7.0.34]
at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
[tomcat-embed-core-jar-7.0.34.jar:7.0.34]
at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
[tomcat-embed-core-jar-7.0.34.jar:7.0.34]
at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
[tomcat-embed-core-jar-7.0.34.jar:7.0.34]
at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
[tomcat-embed-core-jar-7.0.34.jar:7.0.34]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
[tomcat-embed-core-jar-7.0.34.jar:7.0.34]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
[tomcat-embed-core-jar-7.0.34.jar:7.0.34]
at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
[tomcat-embed-core-jar-7.0.34.jar:7.0.34]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
[tomcat-embed-core-jar-7.0.34.jar:7.0.34]
at 
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
[tomcat-embed-core-jar-7.0.34.jar:7.0.34]
at 
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
[tomcat-embed-core-jar-7.0.34.jar:7.0.34]
at 
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
[tomcat-embed-core-jar-7.0.34.jar:7.0.34]
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
[na:1.6.0_27]
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
[na:1.6.0_27]
at java.lang.Thread.run(Thread.java:679) [na:1.6.0_27]
Caused by: org.apache.openjpa.persistence.PersistenceException: The
last packet successfully received from the server was 52 524 877
milliseconds ago.  The last packet sent successfully to the server was
52 524 877 milliseconds ago. is longer than the server configured
value of 'wait_timeout'. You should consider either expiring and/or
testing connection validity before use in your application, increasing
the server configured values for client timeouts, or using the
Connector/J connection property 'autoReconnect=true' to avoid this
problem.
at org.apache.openjpa.jdbc.sql.DBDictionary.narrow(DBDictionary.java:4958)
~[openjpa-bundle-2.2.1.jar:2.2.1]
at 
org.apache.openjpa.jdbc.sql.DBDictionary.newStoreException(DBDictionary.java:4918)
~[openjpa-bundle-2.2.1.jar:2.2.1]
at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:136)
~[openjpa-bundle-2.2.1.jar:2.2.1]
at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:110)
~[openjpa-bundle-2.2.1.jar:2.2.1]
at org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:62)
~[openjpa-bundle-2.2.1.jar:2.2.1]
at 
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.connect(JDBCStoreManager.java:971)
~[openjpa-bundle-2.2.1.jar:2.2.1]
at 
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.getConnection(JDBCStoreManager.java:240)
~[openjpa-bundle-2.2.1.jar:2.2.1]
at org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:413)
~[openjpa-bundle-2.2.1.jar:2.2.1]
at org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:391)
~[openjpa-bundle-2.2.1.jar:2.2.1]
at 
org.apache.openjpa.jdbc.sql.LogicalUnion$UnionSelect.execute(LogicalUnion.java:427)
~[openjpa-bundle-2.2.1.jar:2.2.1]
at org.apache.openjpa.jdbc.sql.LogicalUnion.execute(LogicalUnion.java:230)
~[openjpa-bundle-2.2.1.jar:2.2.1]
at org.apache.openjpa.jdbc.sql.LogicalUnion.execute(LogicalUnion.java:220)
~[openjpa-bundle-2.2.1.jar:2.2.1]
at 
org.apache.openjpa.jdbc.kernel.SelectResultObjectProvider.open(SelectResultObjectProvider.java:94)
~[openjpa-bundle-2.2.1.jar:2.2.1]
at org.apache.openjpa.lib.rop.EagerResultList.<init>(EagerResultList.java:34)
~[openjpa-bundle-2.2.1.jar:2.2.1]
at org.apache.openjpa.kernel.QueryImpl.toResult(QueryImpl.java:1251)
~[openjpa-bundle-2.2.1.jar:2.2.1]
at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:1007)
~[openjpa-bundle-2.2.1.jar:2.2.1]
at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:863)
~[openjpa-bundle-2.2.1.jar:2.2.1]
at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:794)
~[openjpa-bundle-2.2.1.jar:2.2.1]
at org.apache.openjpa.kernel.DelegatingQuery.execute(DelegatingQuery.java:542)
~[openjpa-bundle-2.2.1.jar:2.2.1]
at org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:286)
~[openjpa-bundle-2.2.1.jar:2.2.1]
at org.apache.openjpa.persistence.QueryImpl.getResultList(QueryImpl.java:302)
~[openjpa-bundle-2.2.1.jar:2.2.1]
at 
org.apache.openmeetings.data.basic.SessiondataDao.checkSession(SessiondataDao.java:128)
~[openmeetings-2.1.1-SNAPSHOT.jar:na]
at 
org.apache.openmeetings.data.basic.SessiondataDao$$FastClassByCGLIB$$8a6617e0.invoke(<generated>)
~[com.springsource.net.sf.cglib-2.2.0.jar:na]
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:191)
~[com.springsource.net.sf.cglib-2.2.0.jar:na]
at 
org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:689)
~[spring-aop-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
~[spring-aop-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at 
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
~[org.springframework.transaction-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
... 23 common frames omitted
Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:
The last packet successfully received from the server was 52 524 877
milliseconds ago.  The last packet sent successfully to the server was
52 524 877 milliseconds ago. is longer than the server configured
value of 'wait_timeout'. You should consider either expiring and/or
testing connection validity before use in your application, increasing
the server configured values for client timeouts, or using the
Connector/J connection property 'autoReconnect=true' to avoid this
problem.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method) ~[na:1.6.0_27]
at 
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
~[na:1.6.0_27]
at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
~[na:1.6.0_27]
at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
~[na:1.6.0_27]
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
~[mysql-connector-java-jar-5.1.22.jar:na]
at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1117)
~[mysql-connector-java-jar-5.1.22.jar:na]
at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3851)
~[mysql-connector-java-jar-5.1.22.jar:na]
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2471)
~[mysql-connector-java-jar-5.1.22.jar:na]
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2651)
~[mysql-connector-java-jar-5.1.22.jar:na]
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2728)
~[mysql-connector-java-jar-5.1.22.jar:na]
at com.mysql.jdbc.ConnectionImpl.setAutoCommit(ConnectionImpl.java:5075)
~[mysql-connector-java-jar-5.1.22.jar:na]
at 
org.apache.commons.dbcp.DelegatingConnection.setAutoCommit(DelegatingConnection.java:371)
~[commons-dbcp-jar-1.4.jar:1.4]
at 
org.apache.commons.dbcp.DelegatingConnection.setAutoCommit(DelegatingConnection.java:371)
~[commons-dbcp-jar-1.4.jar:1.4]
at 
org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.setAutoCommit(PoolingDataSource.java:328)
~[commons-dbcp-jar-1.4.jar:1.4]
at 
org.apache.openjpa.lib.jdbc.DelegatingConnection.setAutoCommit(DelegatingConnection.java:167)
~[openjpa-bundle-2.2.1.jar:2.2.1]
at 
org.apache.openjpa.lib.jdbc.DelegatingConnection.setAutoCommit(DelegatingConnection.java:167)
~[openjpa-bundle-2.2.1.jar:2.2.1]
at 
org.apache.openjpa.lib.jdbc.ConfiguringConnectionDecorator$ConfiguringConnection.setAutoCommit(ConfiguringConnectionDecorator.java:117)
~[openjpa-bundle-2.2.1.jar:2.2.1]
at 
org.apache.openjpa.lib.jdbc.ConfiguringConnectionDecorator$ConfiguringConnection.<init>(ConfiguringConnectionDecorator.java:111)
~[openjpa-bundle-2.2.1.jar:2.2.1]
at 
org.apache.openjpa.lib.jdbc.ConfiguringConnectionDecorator.decorate(ConfiguringConnectionDecorator.java:93)
~[openjpa-bundle-2.2.1.jar:2.2.1]
at 
org.apache.openjpa.lib.jdbc.DecoratingDataSource.decorate(DecoratingDataSource.java:99)
~[openjpa-bundle-2.2.1.jar:2.2.1]
at 
org.apache.openjpa.lib.jdbc.DecoratingDataSource.getConnection(DecoratingDataSource.java:88)
~[openjpa-bundle-2.2.1.jar:2.2.1]
at 
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.connectInternal(JDBCStoreManager.java:982)
~[openjpa-bundle-2.2.1.jar:2.2.1]
at 
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.connect(JDBCStoreManager.java:967)
~[openjpa-bundle-2.2.1.jar:2.2.1]
... 44 common frames omitted
Caused by: java.net.SocketException: Broken pipe
at java.net.SocketOutputStream.socketWrite0(Native Method) ~[na:1.6.0_27]
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109)
~[na:1.6.0_27]
at java.net.SocketOutputStream.write(SocketOutputStream.java:153) ~[na:1.6.0_27]
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
~[na:1.6.0_27]
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
~[na:1.6.0_27]
at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3832)
~[mysql-connector-java-jar-5.1.22.jar:na]
... 60 common frames omitted


--
With best regards / с наилучшими пожеланиями,
Alexei Fedotov / Алексей Федотов,
http://dataved.ru/
+7 916 562 8095

[1] Start using Apache Openmeetings today, http://openmeetings.apache.org/
[2] Join Alexei Fedotov @linkedin, http://ru.linkedin.com/in/dataved/
[3] Join Alexei Fedotov @facebook, http://www.facebook.com/openmeetings


On Sat, Jun 1, 2013 at 10:01 PM, Alexei Fedotov
<[email protected]> wrote:
> There are two possible options.
>
> 1. Test heavily and ship 2.1.1 release.
> 2. Test heavily and ship 3.0 release instead.
> 3. Ship 3.0 pre-release without heavy testing.
>
> Why should we bother about testing in 2.1.1? Haven't we just improved
> a few things? We don't actually know if we have improved things. Any
> change have a risk of breaking something.
>
> My suggestion is to have testing infrastructure implemented, this
> would help in testing. This will provide feedback. I prefer option
> (2), or (3) because (1) is a waste of heavy testing effort. We don't
> have enough resources to test two branches thoroughly.
>
> I constantly get suggestions (the last one from you one Friday), like
> let's have a low quality development branch, where we will progress,
> and be creative, and let's have someone to produce reliable branches
> from these development branches. For people in a role of support
> engineers it's hard. That's another reason why I prefer (2) or (3) to
> (1).
>
> BTW, here is start of the error log in our 2.1.1 installation. One can
> start fixing existing problems, if we want a release.
>
>     45 at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>      45 at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
> [tomcat-embed-core-jar-7.0.34.jar:7.0.34]
>      42 Caused by: java.net.SocketException: Broken pipe
>      42 at 
> org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:62)
> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>      42 at 
> org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:136)
> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>      42 at 
> org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:110)
> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>      42 at 
> org.apache.openjpa.jdbc.sql.DBDictionary.newStoreException(DBDictionary.java:4918)
> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>      42 at 
> org.apache.openjpa.jdbc.sql.DBDictionary.narrow(DBDictionary.java:4958)
> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>      42 at 
> org.apache.openjpa.jdbc.kernel.JDBCStoreManager.connect(JDBCStoreManager.java:971)
> ~[openjpa-bundle-2.2.1.jar:2.2.1]
>      42 at java.net.SocketOutputStream.socketWrite0(Native Method)
> ~[na:1.6.0_27]
>      42 at 
> com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1117)
> ~[mysql-connector-java-jar-5.1.22.jar:na]
>      42 at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3851)
> ~[mysql-connector-java-jar-5.1.22.jar:na]
>      32 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> Method) ~[na:1.6.0_27]
>      21 at 
> org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:516)
> ~[org.springframework.orm-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>      21 at 
> org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:326)
> ~[org.springframework.orm-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>      21 at 
> org.springframework.orm.jpa.DefaultJpaDialect.translateExceptionIfPossible(DefaultJpaDialect.java:120)
> ~[org.springframework.orm-jar-3.1.1.RELEASE.jar:3.1.1.RELEASE]
>      19 FailedObject: select c from Sessiondata as c where
> c.session_id LIKE :session_id [java.lang.String]
>      16 java.lang.NullPointerException: null
>      12 at 
> org.apache.openmeetings.remote.ConferenceService.getRoomsByOrganisationWithoutType(ConferenceService.java:147)
> ~[openmeetings-2.1.1-SNAPSHOT.jar:na]
>      10 at sun.reflect.GeneratedConstructorAccessor283.newInstance(Unknown
> Source) ~[na:na]
>       4 at 
> org.apache.openmeetings.remote.red5.ScopeApplicationAdapter.roomLeaveByScope(ScopeApplicationAdapter.java:564)
> [openmeetings-2.1.1-SNAPSHOT.jar:na]
>       2 java.lang.Exception: not Authenticated
>       2 ERROR 05-28 20:44:56.425 o.a.o.r.WhiteBoardService:408
> [NioProcessor-6] - WhiteboardSyncLockObject not found for this Client
> {}
>       2 ERROR 05-28 20:44:56.423 o.a.o.r.WhiteBoardService:408
> [NioProcessor-6] - WhiteboardSyncLockObject not found for this Client
> {}
>       2 Caused by:
> com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last
> packet successfully received from the server was 84 612 291
> milliseconds ago.  The last packet sent successfully to the server was
> 84 612 291 milliseconds ago. is longer than the server configured
> value of 'wait_timeout'. You should consider either expiring and/or
> testing connection validity before use in your application, increasing
> the server configured values for client timeouts, or using the
> Connector/J connection property 'autoReconnect=true' to avoid this
> problem.

Reply via email to