Project

General

Profile

bug #8132

phycobank cdm-server instance problems with db connections

Added by Andreas Kohlbecker 3 months ago. Updated 16 days ago.

Status:
New
Priority:
Highest
Category:
cdmserver
Target version:
Start date:
02/22/2019
Due date:
% Done:

0%

Severity:
critical
Found in Version:

Description

the phycobank cdm-server instance which is running in a docker container got problems with the db connections

Problem accessing /phycobank/registrationDTO/identifier/http%3A%2F%2Fphycobank.org%2F100530.json. Reason:

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was 89,950,095 milliseconds ago.  The last packet sent successfully to the server was 89,950,096 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)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:404)
    at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:981)
    at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3652)
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2460)
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2625)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2551)
    at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1861)
    at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1962)
    at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeQuery(NewProxyPreparedStatement.java:353)
    at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:70)
    at org.hibernate.loader.Loader.getResultSet(Loader.java:2116)
    at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1899)
    at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1875)
    at org.hibernate.loader.Loader.doQuery(Loader.java:919)
    at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:336)
    at org.hibernate.loader.Loader.doList(Loader.java:2611)
    at org.hibernate.loader.Loader.doList(Loader.java:2594)
    at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2423)
    at org.hibernate.loader.Loader.list(Loader.java:2418)
    at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:109)
    at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1774)
    at org.hibernate.internal.CriteriaImpl.list(CriteriaImpl.java:363)
    at org.hibernate.internal.CriteriaImpl.uniqueResult(CriteriaImpl.java:385)
    at eu.etaxonomy.cdm.persistence.dao.hibernate.common.CdmEntityDaoBase.countByParamWithRestrictions(CdmEntityDaoBase.java:1197)
    at eu.etaxonomy.cdm.persistence.dao.hibernate.common.IdentifiableDaoBase.countByTitleWithRestrictions(IdentifiableDaoBase.java:344)
    at eu.etaxonomy.cdm.api.service.IdentifiableServiceBase.findByTitleWithRestrictions(IdentifiableServiceBase.java:147)
    at sun.reflect.GeneratedMethodAccessor189.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
    at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)
    at com.sun.proxy.$Proxy187.findByTitleWithRestrictions(Unknown Source)
    at eu.etaxonomy.cdm.service.CdmFilterablePagingProvider.size(CdmFilterablePagingProvider.java:182)
    at org.vaadin.viritin.fields.LazyComboBox$7.size(LazyComboBox.java:261)
    at org.vaadin.viritin.LazyList.size(LazyList.java:229)
    at org.vaadin.viritin.ListContainer.size(ListContainer.java:368)
    at com.vaadin.ui.ComboBox.getOptionsWithFilter(ComboBox.java:461)
    at com.vaadin.ui.ComboBox.paintContent(ComboBox.java:261)
    at com.vaadin.server.LegacyPaint.paint(LegacyPaint.java:65)
    at com.vaadin.server.communication.LegacyUidlWriter.write(LegacyUidlWriter.java:82)
    at com.vaadin.server.communication.UidlWriter.write(UidlWriter.java:143)
    at com.vaadin.server.communication.UidlRequestHandler.writeUidl(UidlRequestHandler.java:124)
    at com.vaadin.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:92)
    at com.vaadin.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:41)
    at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1435)
    at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:380)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:808)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:316)
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:126)
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:90)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:114)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:122)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:169)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:48)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:158)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.oauth2.provider.authentication.OAuth2AuthenticationProcessingFilter.doFilter(OAuth2AuthenticationProcessingFilter.java:176)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:120)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:64)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:91)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:53)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:213)
    at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:176)
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
    at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:121)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
    at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
    at org.eclipse.jetty.server.Server.handle(Server.java:497)
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
    at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.net.SocketException: Broken pipe (Write failed)
    at java.net.SocketOutputStream.socketWrite0(Native Method)
    at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:111)
    at java.net.SocketOutputStream.write(SocketOutputStream.java:155)
    at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
    at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
    at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3634)
    ... 107 more

Caused by:

java.net.SocketException: Broken pipe (Write failed)
    at java.net.SocketOutputStream.socketWrite0(Native Method)
    at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:111)
    at java.net.SocketOutputStream.write(SocketOutputStream.java:155)
    at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
    at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
    at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3634)
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2460)
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2625)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2551)
    at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1861)
    at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1962)
    at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeQuery(NewProxyPreparedStatement.java:353)
    at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:70)
    at org.hibernate.loader.Loader.getResultSet(Loader.java:2116)
    at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1899)
    at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1875)
    at org.hibernate.loader.Loader.doQuery(Loader.java:919)
    at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:336)
    at org.hibernate.loader.Loader.doList(Loader.java:2611)
    at org.hibernate.loader.Loader.doList(Loader.java:2594)
    at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2423)
    at org.hibernate.loader.Loader.list(Loader.java:2418)
    at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:109)
    at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1774)
    at org.hibernate.internal.CriteriaImpl.list(CriteriaImpl.java:363)
    at org.hibernate.internal.CriteriaImpl.uniqueResult(CriteriaImpl.java:385)
    at eu.etaxonomy.cdm.persistence.dao.hibernate.common.CdmEntityDaoBase.countByParamWithRestrictions(CdmEntityDaoBase.java:1197)
    at eu.etaxonomy.cdm.persistence.dao.hibernate.common.IdentifiableDaoBase.countByTitleWithRestrictions(IdentifiableDaoBase.java:344)
    at eu.etaxonomy.cdm.api.service.IdentifiableServiceBase.findByTitleWithRestrictions(IdentifiableServiceBase.java:147)
    at sun.reflect.GeneratedMethodAccessor189.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
    at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)
    at com.sun.proxy.$Proxy187.findByTitleWithRestrictions(Unknown Source)
    at eu.etaxonomy.cdm.service.CdmFilterablePagingProvider.size(CdmFilterablePagingProvider.java:182)
    at org.vaadin.viritin.fields.LazyComboBox$7.size(LazyComboBox.java:261)
    at org.vaadin.viritin.LazyList.size(LazyList.java:229)
    at org.vaadin.viritin.ListContainer.size(ListContainer.java:368)
    at com.vaadin.ui.ComboBox.getOptionsWithFilter(ComboBox.java:461)
    at com.vaadin.ui.ComboBox.paintContent(ComboBox.java:261)
    at com.vaadin.server.LegacyPaint.paint(LegacyPaint.java:65)
    at com.vaadin.server.communication.LegacyUidlWriter.write(LegacyUidlWriter.java:82)
    at com.vaadin.server.communication.UidlWriter.write(UidlWriter.java:143)
    at com.vaadin.server.communication.UidlRequestHandler.writeUidl(UidlRequestHandler.java:124)
    at com.vaadin.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:92)
    at com.vaadin.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:41)
    at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1435)
    at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:380)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:808)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:316)
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:126)
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:90)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:114)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:122)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:169)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:48)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilterInternal(BasicAuthenticationFilter.java:158)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.oauth2.provider.authentication.OAuth2AuthenticationProcessingFilter.doFilter(OAuth2AuthenticationProcessingFilter.java:176)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:120)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:64)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:91)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:53)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
    at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:213)
    at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:176)
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
    at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:121)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
    at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
    at org.eclipse.jetty.server.Server.handle(Server.java:497)
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
    at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
    at java.lang.Thread.run(Thread.java:748)

Powered by Jetty:// 

potentially related to #7106 ?

cdmserver-docker-c3p0-connectivityproblem.png View (80 KB) Andreas Kohlbecker, 02/27/2019 03:35 PM


Related issues

Related to Edit - bug #7106: avoid factory.openSession() in CdmRepository Closed 12/04/2017
Related to Edit - bug #8170: javax.sql.DataSource.getConnection() implementation in WrappedCdmDataSource does not conform to the interface Feedback 03/08/2019
Related to Edit - bug #8171: javax.sql.DataSource.getConnection() implementation in WrappedCdmDataSource fails to cache the connection which and leaves it unclosed Closed 03/08/2019

Associated revisions

Revision d75c4b91 (diff)
Added by Andreas Kohlbecker 2 months ago

ref #8132 c3p0 settings for debugging lost jdbc connections

Revision d2accd99 (diff)
Added by Andreas Kohlbecker 2 months ago

ref #8132 fixing problem of uncommited transaction in RegistrationWorkingsetPresenter

Revision 5479cc9a (diff)
Added by Andreas Kohlbecker 2 months ago

ref #8132 fixing problem of uncommited transaction in RegistrationWorkingsetPresenter

Revision 6f71379a (diff)
Added by Andreas Kohlbecker 2 months ago

ref #8132 proper transaction rollback in RegistrationWorkingsetPresenter

Revision 99583d95 (diff)
Added by Andreas Kohlbecker 2 months ago

ref #8132 proper transaction rollback in CdmStore

Revision 23025c30 (diff)
Added by Andreas Kohlbecker 2 months ago

ref #8132 proper transaction rollback in RegistrationWorkingsetPresenter

Revision 278e8f96 (diff)
Added by Andreas Kohlbecker 2 months ago

ref #8132 proper transaction rollback in CdmStore

merging Conflicts in src/main/java/eu/etaxonomy/cdm/service/CdmStore.java

Revision 5261131c (diff)
Added by Andreas Kohlbecker 2 months ago

ref #8132 proper transaction rollback in CdmStore - copied from hfx branch

Revision 98db0610 (diff)
Added by Andreas Kohlbecker 2 months ago

ref #8132 fixin bug related to transaction rollback in CdmStore

History

#4 Updated by Andreas Kohlbecker 3 months ago

these connectivity problems should be prevented by c3p0 since the idleConnectionTestPeriod is set to 600 (10 minutes)

#5 Updated by Andreas Kohlbecker 3 months ago

I added autoReconnect=true to the connection string of the phycobank datasource.

#6 Updated by Andreas Kohlbecker 3 months ago

Andreas Kohlbecker wrote:

I added autoReconnect=true to the connection string of the phycobank datasource.

using this parameter is highly discouraged:

"If enabled the driver will throw an exception for a queries issued on a stale or dead connection, which belong to the current transaction, but will attempt reconnect before the next query issued on the connection in a new transaction. The use of this feature is not recommended, because it has side effects related to session state and data consistency when applications do not handle SQLExceptions properly, and is only designed to be used when you are unable to configure your application to handle SQLExceptions resulting from dead and stale connections properly. Alternatively, investigate setting the MySQL server variable "wait_timeout" to some high value rather than the default of 8 hours." (https://stackoverflow.com/questions/667289/why-does-autoreconnect-true-not-seem-to-work)

#9 Updated by Andreas Kohlbecker 3 months ago

I set testConnectionsOnCheckIn=true temporarily via jmx in order to test if this helps avoiding this connectivity problem.

#10 Updated by Andreas Kohlbecker 3 months ago

Andreas Kohlbecker wrote:

I set testConnectionsOnCheckIn=true temporarily via jmx in order to test if this helps avoiding this connectivity problem.

this did not really help, so I added this configuration option now to the system environment:

-Dc3p0.testConnectionOnCheckout=true

Further more I try logging the com.mchange.v2.c3p0.impl.DefaultConnectionTester by adding

log4j.logger.com.mchange.v2.c3p0.impl.DefaultConnectionTester=DEBUG

to the log4j.properties but there is no logging visible from this class.

#12 Updated by Andreas Kohlbecker 3 months ago

It seems as if this problem is being cased by the CdmFilterablePagingProvider which might open an new Sesscion which is not being closed afterwards. SO the connection stays open until the mysql will time it out.
This hypothesis needs to be confirmed.

Meanwhile I will set the configuration options unreturnedConnectionTimeout=3600 (1h) and debugUnreturnedConnectionStackTraces=true to debug the situation and to prevent from errors in the application.

#13 Updated by Andreas Kohlbecker 3 months ago

  • Subject changed from phycobank docker container problems with db connections to phycobank cdm-server instance problems with db connections
  • Description updated (diff)

#14 Updated by Andreas Kohlbecker 3 months ago

Results from the server log:

The problem occurred again. The jdbc connection which was being used by the tread qtp1207140081-33 was causing problems. This thread has been used before by the taxeditor and finally cdm-vaadin when the first stacktrace was logged. Later on the "broken" connection is being used in the context of another thread qtp1207140081-35

before

[phycobank] 2019-03-05 11:04:24,453 DEBUG [qtp1207140081-33] [org.springframework.remoting.support.RemoteInvocationTraceInterceptor] - Incoming HttpInvokerServiceExporter remote call: eu.etaxonomy.cdm.api.service.IIdentifiableEntityService.findByTitle
[phycobank] 2019-03-05 11:04:24
...
[phycobank] 2019-03-05 11:04:24,453 DEBUG [qtp1207140081-33] [org.springframework.remoting.support.RemoteInvocationTraceInterceptor] - Incoming HttpInvokerServiceExporter remote call: eu.etaxonomy.cdm.api.service.IIdentifiableEntityService.findByTitle
[phycobank] 2019-03-05 11:04:24
...
[phycobank] 2019-03-05 11:04:24,453 DEBUG [qtp1207140081-33] [org.springframework.remoting.support.RemoteInvocationTraceInterceptor] - Incoming HttpInvokerServiceExporter remote call: eu.etaxonomy.cdm.api.service.IIdentifiableEntityService.findByTitle
[phycobank] 2019-03-05 11:04:24
...
[phycobank] 2019-03-05 11:04:24,453 DEBUG [qtp1207140081-33] [org.springframework.remoting.support.RemoteInvocationTraceInterceptor] - Incoming HttpInvokerServiceExporter remote call: eu.etaxonomy.cdm.api.service.IIdentifiableEntityService.findByTitle
[phycobank] 2019-03-05 11:04:24

ERROR

[phycobank] 2019-03-05 11:50:07,891 DEBUG [qtp1207140081-33] [com.mchange.v2.c3p0.impl.DefaultConnectionTester] - Testing a Connection in response to an Exception:
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed.
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:404)
        at com.mysql.jdbc.Util.getInstance(Util.java:387)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:917)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:896)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:885)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:860)
        at com.mysql.jdbc.ConnectionImpl.throwConnectionClosedException(ConnectionImpl.java:1235)
        at com.mysql.jdbc.ConnectionImpl.checkClosed(ConnectionImpl.java:1230)
..
        at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:109)
        at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1774)
        at org.hibernate.internal.CriteriaImpl.list(CriteriaImpl.java:363)
        at org.hibernate.internal.CriteriaImpl.uniqueResult(CriteriaImpl.java:385)
        at eu.etaxonomy.cdm.persistence.dao.hibernate.common.CdmEntityDaoBase.countByParam(CdmEntityDaoBase.java:1113)
        at eu.etaxonomy.cdm.persistence.dao.hibernate.common.VersionableDaoBase.countByParam(VersionableDaoBase.java:388)
        at eu.etaxonomy.cdm.persistence.dao.hibernate.common.IdentifiableDaoBase.countByTitle(IdentifiableDaoBase.java:334)
        at eu.etaxonomy.cdm.api.service.IdentifiableServiceBase.findByTitle(IdentifiableServiceBase.java:134)
...
        at com.sun.proxy.$Proxy196.findByTitle(Unknown Source)
        at eu.etaxonomy.cdm.service.CdmFilterablePagingProvider.size(CdmFilterablePagingProvider.java:193)
        at org.vaadin.viritin.fields.LazyComboBox$4.size(LazyComboBox.java:142)
        at org.vaadin.viritin.LazyList.size(LazyList.java:229)
        at java.util.AbstractCollection.isEmpty(AbstractCollection.java:86)
        at org.vaadin.viritin.ListContainer.firstItemId(ListContainer.java:185)
        at org.vaadin.viritin.fields.TypedSelect.getType(TypedSelect.java:339)
        at org.vaadin.viritin.fields.LazyComboBox.loadFrom(LazyComboBox.java:264)
        at eu.etaxonomy.vaadin.component.ToOneRelatedEntityCombobox.loadFrom(ToOneRelatedEntityCombobox.java:118)
        at eu.etaxonomy.cdm.vaadin.view.reference.ReferenceEditorPresenter.updateInReferencePageProvider(ReferenceEditorPresenter.java:142)
        at eu.etaxonomy.cdm.vaadin.view.reference.ReferenceEditorPresenter.handleViewEntered(ReferenceEditorPresenter.java:86)
        at eu.etaxonomy.vaadin.mvp.AbstractPresenter.onViewEnter(AbstractPresenter.java:158)
        at eu.etaxonomy.vaadin.mvp.AbstractPopupView.viewEntered(AbstractPopupView.java:95)
        at eu.etaxonomy.vaadin.ui.navigation.NavigationManagerBean.showInPopup(NavigationManagerBean.java:181)
        at eu.etaxonomy.vaadin.mvp.AbstractPresenter.openPopupEditor(AbstractPresenter.java:237)
        at eu.etaxonomy.cdm.vaadin.view.name.TaxonNameEditorPresenter.onReferenceEditorActionAdd(TaxonNameEditorPresenter.java:340)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.vaadin.spring.events.internal.MethodListenerWrapper.publish(MethodListenerWrapper.java:78)
        at org.vaadin.spring.events.internal.ListenerCollection.publish(ListenerCollection.java:167)
        at org.vaadin.spring.events.internal.ScopedEventBus.publish(ScopedEventBus.java:116)
        at org.vaadin.spring.events.internal.ScopedEventBus.publish(ScopedEventBus.java:109)
        at eu.etaxonomy.cdm.vaadin.view.name.TaxonNamePopupEditor.lambda$initContent$61446b05$1(TaxonNamePopupEditor.java:328)
   at sun.reflect.GeneratedMethodAccessor624.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:510)
        at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:200)
        at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:163)
        at com.vaadin.server.AbstractClientConnector.fireEvent(AbstractClientConnector.java:1015)
        at com.vaadin.ui.Button.fireClick(Button.java:377)
        at com.vaadin.ui.Button$1.click(Button.java:54)
        at sun.reflect.GeneratedMethodAccessor627.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:158)
...
        at org.eclipse.jetty.server.Server.handle(Server.java:497)
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)
        at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
        at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
        at java.lang.Thread.run(Thread.java:748)
[phycobank] 2019-03-05 11:50:07,900 WARN [qtp1207140081-33] [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] - SQL Error: 0, SQLState: 08003
[phycobank] 2019-03-05 11:50:07,905 ERROR [qtp1207140081-33] [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] - No operations allowed after connection closed.
[phycobank] 2019-03-05 11:50:07,911 DEBUG [qtp1207140081-33] [com.mchange.v2.c3p0.impl.DefaultConnectionTester] - Testing a Connection in response to an Exception:
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed.
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:404)
        at com.mysql.jdbc.Util.getInstance(Util.java:387)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:917)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:896)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:885)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:860)
        at com.mysql.jdbc.ConnectionImpl.throwConnectionClosedException(ConnectionImpl.java:1235)
        at com.mysql.jdbc.ConnectionImpl.checkClosed(ConnectionImpl.java:1230)
        at com.mysql.jdbc.ConnectionImpl.prepareStatement(ConnectionImpl.java:4132)
        at com.mysql.jdbc.ConnectionImpl.prepareStatement(ConnectionImpl.java:4101)
        at com.mchange.v2.c3p0.impl.NewProxyConnection.prepareStatement(NewProxyConnection.java:567)
        at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$5.doPrepare(StatementPreparerImpl.java:146)
        at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement(StatementPreparerImpl.java:172)
        at org.hibernate.engine.jdbc.internal.StatementPreparerImpl.prepareQueryStatement(StatementPreparerImpl.java:148)
        at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1928)
        at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1897)
        at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1875)
        at org.hibernate.loader.Loader.doQuery(Loader.java:919)
        at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:336)
        at org.hibernate.loader.Loader.doList(Loader.java:2611)
        at org.hibernate.loader.Loader.doList(Loader.java:2594)
        at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2423)
        at org.hibernate.loader.Loader.list(Loader.java:2418)
        at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:109)
        at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1774)
        at org.hibernate.internal.CriteriaImpl.list(CriteriaImpl.java:363)
        at org.hibernate.internal.CriteriaImpl.uniqueResult(CriteriaImpl.java:385)
        at eu.etaxonomy.cdm.persistence.dao.hibernate.common.CdmEntityDaoBase.countByParam(CdmEntityDaoBase.java:1113)
        at eu.etaxonomy.cdm.persistence.dao.hibernate.common.VersionableDaoBase.countByParam(VersionableDaoBase.java:388)
        at eu.etaxonomy.cdm.persistence.dao.hibernate.common.IdentifiableDaoBase.countByTitle(IdentifiableDaoBase.java:334)
        at eu.etaxonomy.cdm.api.service.IdentifiableServiceBase.findByTitle(IdentifiableServiceBase.java:134)
...

        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
        at java.lang.Thread.run(Thread.java:748)
[phycobank] 2019-03-05 11:50:07,913 WARN [qtp1207140081-33] [com.mchange.v2.c3p0.impl.NewPooledConnection] - [c3p0] A PooledConnection that has already signalled a Connection error is still in use!
[phycobank] 2019-03-05 11:50:07,913 WARN [qtp1207140081-33] [com.mchange.v2.c3p0.impl.NewPooledConnection] - [c3p0] Another error has occurred [ com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed. ] which will not be reported to listeners!
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed.
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

the connection which is closed reoports: SQL Error: 0, SQLState: 08003

#16 Updated by Andreas Kohlbecker 2 months ago

  • Description updated (diff)

#17 Updated by Andreas Kohlbecker 2 months ago

  • Related to bug #7106: avoid factory.openSession() in CdmRepository added

#18 Updated by Andreas Kohlbecker 2 months ago

The problem just occurred again. This time no one was using the Taxeditor since the instance has been started.

The c3p0 jmx bean reports

numUnclosedOrphanedConnections=1

There is a good change that these problems are caused by unintentionally opening new unmanaged sessions, see #7106

#19 Updated by Andreas Kohlbecker 2 months ago

debugging the cdm-server to find connections that have been opened but which are not being closed properly (DebugC3P0Connections) revealed that the problem is caused in situations when eu.etaxonomy.cdm.api.application.CdmRepository.startTransaction(CdmRepository.java:460) is being used in turn of RegistrationWorkingsetPresenter.onEntityChangeEvent(RegistrationWorkingsetPresenter.java:760)

[phycobank] 12:05:05,721 INFO [C3P0PooledConnectionPoolManager[identityToken->z8kfsxa1psn7sp6a4p59|f2f2cc1]-AdminTaskTimer][co.mc.v2.re.BasicResourcePool] - Logging the stack trace by which the overdue resource was checked-out.
java.lang.Exception: DEBUG STACK TRACE: Overdue resource check-out stack trace.
        at com.mchange.v2.resourcepool.BasicResourcePool.checkoutResource(BasicResourcePool.java:588)
        at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutAndMarkConnectionInUse(C3P0PooledConnectionPool.java:758)
        at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:685)
        at com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection(AbstractPoolBackedDataSource.java:140)
        at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:122)
        at org.hibernate.internal.AbstractSessionImpl$NonContextualJdbcConnectionAccess.obtainConnection(AbstractSessionImpl.java:386)
        at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.acquireConnectionIfNeeded(LogicalConnectionManagedImpl.java:87)
        at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.getPhysicalConnection(LogicalConnectionManagedImpl.java:112)
        at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.getConnectionForTransactionManagement(LogicalConnectionManagedImpl.java:230)
        at org.hibernate.resource.jdbc.internal.LogicalConnectionManagedImpl.begin(LogicalConnectionManagedImpl.java:237)
        at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.begin(JdbcResourceLocalTransactionCoordinatorImpl.java:214)
        at org.hibernate.engine.transaction.internal.TransactionImpl.begin(TransactionImpl.java:52)
        at org.hibernate.internal.SessionImpl.beginTransaction(SessionImpl.java:1512)
        at org.springframework.orm.hibernate5.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:499)
        at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:373)
        at eu.etaxonomy.cdm.api.application.CdmRepository.startTransaction(CdmRepository.java:460)
        at eu.etaxonomy.cdm.api.application.CdmRepository.startTransaction(CdmRepository.java:436)
        at eu.etaxonomy.cdm.vaadin.view.registration.RegistrationWorkingsetPresenter.onEntityChangeEvent(RegistrationWorkingsetPresenter.java:760)

#20 Updated by Andreas Kohlbecker 2 months ago

Another situation in which a connection is being opened but not properly closed is occurring in the DataSourceConfigurer.dataSource() method:

14:40:29,148 INFO [C3P0PooledConnectionPoolManager[identityToken->z8kfsxa1py9c3g1uw8b66|6b756a62]-AdminTaskTimer][co.mc.v2.re.BasicResourcePool] - Logging the stack trace by which the overdue resource was checked-out.
java.lang.Exception: DEBUG STACK TRACE: Overdue resource check-out stack trace.
    at com.mchange.v2.resourcepool.BasicResourcePool.checkoutResource(BasicResourcePool.java:588)
    at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutAndMarkConnectionInUse(C3P0PooledConnectionPool.java:758)
    at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:685)
    at com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection(AbstractPoolBackedDataSource.java:140)
    at eu.etaxonomy.cdm.database.WrappedCdmDataSource.getConnection(WrappedCdmDataSource.java:66)
    at eu.etaxonomy.cdm.database.WrappedCdmDataSource.executeQuery(WrappedCdmDataSource.java:360)
    at eu.etaxonomy.cdm.database.WrappedCdmDataSource.getSingleValue(WrappedCdmDataSource.java:393)
    at eu.etaxonomy.cdm.database.update.SchemaUpdaterBase.getCurrentVersion(SchemaUpdaterBase.java:82)
    at eu.etaxonomy.cdm.database.update.UpdaterBase.isToBeInvoked(UpdaterBase.java:72)
    at eu.etaxonomy.cdm.database.update.UpdaterBase.countSteps(UpdaterBase.java:55)
    at eu.etaxonomy.cdm.database.update.CdmUpdater.updateToCurrentVersion(CdmUpdater.java:94)
    at eu.etaxonomy.cdm.opt.config.DataSourceConfigurer.dataSource(DataSourceConfigurer.java:251)

The actual problem, however, comes from the eu.etaxonomy.cdm.database.WrappedCdmDataSource which implements javax.sql.DataSource.getConnection() in a false and dangerous way: #8170, #8171

#21 Updated by Andreas Kohlbecker 2 months ago

  • Related to bug #8170: javax.sql.DataSource.getConnection() implementation in WrappedCdmDataSource does not conform to the interface added

#22 Updated by Andreas Kohlbecker 2 months ago

  • Related to bug #8171: javax.sql.DataSource.getConnection() implementation in WrappedCdmDataSource fails to cache the connection which and leaves it unclosed added

#23 Updated by Andreas Kohlbecker about 1 month ago

  • Target version changed from Release 5.6 to Release 5.7

#24 Updated by Andreas Müller 16 days ago

  • Target version changed from Release 5.7 to Release 5.8

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 40 MB)