The solution should work at least for the case when DB and
Openmeetings are on the same server.
--
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 Thu, Jun 27, 2013 at 11:26 AM, Alexei Fedotov
<[email protected]> wrote:
> 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