You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Felipe Jaekel <fk...@gmail.com> on 2014/02/28 19:22:01 UTC

DBCP2 connection pool leak?

Hi,

Today I tried to migrate my production server from 7.0.50 to 8.0.3.

After about 3 hours running I start to get JDBC exceptions(stacktrace
below) and the server stops responding. Looking at Amazon RDS monitoring it
shows the connection limit reached 97%. Restarted the server and after
about the same time the same problem happened.

With 7.0.50 the highest value reached was 60%, so I think that the
connection pool may be leaking.

I understand that DBCP2 isn't final yet. I just like to know if that is a
known issue, so I'll return to Tomcat 7.

Thanks,
Phillip


--------------------------------------------------------------------------------

javax.persistence.PersistenceException:
org.hibernate.exception.GenericJDBCException: could not inspect JDBC
autocommit mode
	at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1387)
	at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1310)
	at org.hibernate.ejb.QueryImpl.getSingleResult(QueryImpl.java:316)
	at br.com.spdata.persistence.mysql.service.ErroService.checkExistente(ErroService.java:134)
	at br.com.spdata.persistence.mysql.service.ErroService.persist(ErroService.java:58)
	at br.com.spdata.email.AbstractErrorPageController.(AbstractErrorPageController.java:78)
	at br.com.spdata.tecnico.ErrorPageController.(ErrorPageController.java:14)
	at sun.reflect.GeneratedConstructorAccessor798.newInstance(Unknown Source)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
	at java.lang.Class.newInstance(Class.java:374)
	at com.sun.faces.mgbean.BeanBuilder.newBeanInstance(BeanBuilder.java:186)
	at com.sun.faces.mgbean.BeanBuilder.build(BeanBuilder.java:100)
	at com.sun.faces.mgbean.BeanManager.createAndPush(BeanManager.java:409)
	at com.sun.faces.mgbean.BeanManager.create(BeanManager.java:269)
	at com.sun.faces.el.ManagedBeanELResolver.resolveBean(ManagedBeanELResolver.java:257)
	at com.sun.faces.el.ManagedBeanELResolver.getValue(ManagedBeanELResolver.java:117)
	at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
	at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
	at org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:80)
	at org.apache.el.parser.AstValue.getValue(AstValue.java:135)
	at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:187)
	at com.sun.faces.facelets.el.ELText$ELTextVariable.writeText(ELText.java:238)
	at com.sun.faces.facelets.el.ELText$ELTextComposite.writeText(ELText.java:154)
	at com.sun.faces.facelets.compiler.TextInstruction.write(TextInstruction.java:85)
	at com.sun.faces.facelets.compiler.UIInstructions.encodeBegin(UIInstructions.java:82)
	at com.sun.faces.facelets.compiler.UILeaf.encodeAll(UILeaf.java:183)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)
	at org.primefaces.renderkit.HeadRenderer.encodeEnd(HeadRenderer.java:106)
	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1863)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)
	at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:461)
	at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:133)
	at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:337)
	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:647)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:301)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
	at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
	at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
	at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
	at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
	at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
	at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:721)
	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:468)
	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:391)
	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:318)
	at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:423)
	at org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:367)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:166)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:74)
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:516)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1015)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:652)
	at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1575)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1533)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:744)
Caused by: org.hibernate.exception.GenericJDBCException: could not
inspect JDBC autocommit mode
	at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:54)
	at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:124)
	at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:109)
	at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.isAutoCommit(LogicalConnectionImpl.java:311)
	at org.hibernate.engine.transaction.internal.TransactionCoordinatorImpl.afterNonTransactionalQuery(TransactionCoordinatorImpl.java:200)
	at org.hibernate.internal.SessionImpl.afterOperation(SessionImpl.java:477)
	at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1199)
	at org.hibernate.internal.QueryImpl.list(QueryImpl.java:101)
	at org.hibernate.ejb.QueryImpl.getSingleResult(QueryImpl.java:287)
	... 66 more
Caused by: java.sql.SQLException: Connection
com.mysql.jdbc.JDBC4Connection@1c4edb45 is closed.
	at org.apache.tomcat.dbcp.dbcp2.DelegatingConnection.checkOpen(DelegatingConnection.java:569)
	at org.apache.tomcat.dbcp.dbcp2.DelegatingConnection.getAutoCommit(DelegatingConnection.java:366)
	at org.apache.tomcat.dbcp.dbcp2.DelegatingConnection.getAutoCommit(DelegatingConnection.java:371)
	at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.isAutoCommit(LogicalConnectionImpl.java:308)
	... 71 more


--------------------------------------------------------------------------------


javax.persistence.PersistenceException:
org.hibernate.exception.GenericJDBCException: could not prepare
statement
	at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1387)
	at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1310)
	at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:277)
	at br.com.spdata.persistence.mysql.dao.AtendimentoDao.findFilaGeral(AtendimentoDao.java:45)
	at br.com.spdata.persistence.mysql.service.chat.AtendimentoService.calculaPosicaoFila(AtendimentoService.java:482)
	at br.com.spdata.persistence.model.chat.AbstractAtendimentoBean.getMensagemFila(AbstractAtendimentoBean.java:359)
	at sun.reflect.GeneratedMethodAccessor1166.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at javax.el.BeanELResolver.getValue(BeanELResolver.java:97)
	at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
	at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
	at org.apache.el.parser.AstValue.getValue(AstValue.java:167)
	at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:187)
	at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)
	at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194)
	at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:182)
	at javax.faces.component.UIOutput.getValue(UIOutput.java:174)
	at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:205)
	at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:355)
	at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:164)
	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919)
	at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:312)
	at com.sun.faces.renderkit.html_basic.GridRenderer.renderRow(GridRenderer.java:185)
	at com.sun.faces.renderkit.html_basic.GridRenderer.encodeChildren(GridRenderer.java:129)
	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:889)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1856)
	at javax.faces.render.Renderer.encodeChildren(Renderer.java:176)
	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:889)
	at org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:71)
	at org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:58)
	at org.primefaces.component.panel.PanelRenderer.encodeContent(PanelRenderer.java:204)
	at org.primefaces.component.panel.PanelRenderer.encodeMarkup(PanelRenderer.java:121)
	at org.primefaces.component.panel.PanelRenderer.encodeEnd(PanelRenderer.java:58)
	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919)
	at org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:75)
	at org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:58)
	at org.primefaces.component.outputpanel.OutputPanelRenderer.encodeMarkup(OutputPanelRenderer.java:64)
	at org.primefaces.component.outputpanel.OutputPanelRenderer.encodeEnd(OutputPanelRenderer.java:40)
	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1863)
	at com.sun.faces.context.PartialViewContextImpl$PhaseAwareVisitCallback.visit(PartialViewContextImpl.java:570)
	at com.sun.faces.component.visit.PartialVisitContext.invokeVisitCallback(PartialVisitContext.java:183)
	at javax.faces.component.UIComponent.visitTree(UIComponent.java:1689)
	at javax.faces.component.UIComponent.visitTree(UIComponent.java:1700)
	at javax.faces.component.UIComponent.visitTree(UIComponent.java:1700)
	at com.sun.faces.context.PartialViewContextImpl.processComponents(PartialViewContextImpl.java:402)
	at com.sun.faces.context.PartialViewContextImpl.processPartial(PartialViewContextImpl.java:322)
	at javax.faces.context.PartialViewContextWrapper.processPartial(PartialViewContextWrapper.java:219)
	at org.primefaces.context.PrimePartialViewContext.processPartial(PrimePartialViewContext.java:59)
	at javax.faces.component.UIViewRoot.encodeChildren(UIViewRoot.java:1004)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1856)
	at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:435)
	at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:133)
	at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:337)
	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:647)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:301)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.omnifaces.filter.CacheControlFilter.doFilter(CacheControlFilter.java:226)
	at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:77)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:98)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at br.com.spdata.filter.ExceptionFilter.doFilter(ExceptionFilter.java:36)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at br.com.spdata.cliente.filter.LoginFilter.doFilter(LoginFilter.java:40)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:136)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:74)
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:516)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1015)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:652)
	at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1575)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1533)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:744)
Caused by: org.hibernate.exception.GenericJDBCException: could not
prepare statement
	at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:54)
	at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:125)
	at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement(StatementPreparerImpl.java:193)
	at org.hibernate.engine.jdbc.internal.StatementPreparerImpl.prepareQueryStatement(StatementPreparerImpl.java:157)
	at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1881)
	at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1858)
	at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1838)
	at org.hibernate.loader.Loader.doQuery(Loader.java:906)
	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:348)
	at org.hibernate.loader.Loader.doList(Loader.java:2548)
	at org.hibernate.loader.Loader.doList(Loader.java:2534)
	at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2364)
	at org.hibernate.loader.Loader.list(Loader.java:2359)
	at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:495)
	at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:357)
	at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:195)
	at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1194)
	at org.hibernate.internal.QueryImpl.list(QueryImpl.java:101)
	at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:268)
	... 90 more
Caused by: java.sql.SQLException: Connection
com.mysql.jdbc.JDBC4Connection@f1e90be is closed.
	at org.apache.tomcat.dbcp.dbcp2.DelegatingConnection.checkOpen(DelegatingConnection.java:569)
	at org.apache.tomcat.dbcp.dbcp2.DelegatingConnection.prepareStatement(DelegatingConnection.java:278)
	at org.apache.tomcat.dbcp.dbcp2.DelegatingConnection.prepareStatement(DelegatingConnection.java:280)
	at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$5.doPrepare(StatementPreparerImpl.java:159)
	at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement(StatementPreparerImpl.java:183)
	... 106 more

Re: DBCP2 connection pool leak?

Posted by Christopher Schultz <ch...@christopherschultz.net>.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Felipe,

On 2/28/14, 1:22 PM, Felipe Jaekel wrote:
> Hi,
> 
> Today I tried to migrate my production server from 7.0.50 to
> 8.0.3.
> 
> After about 3 hours running I start to get JDBC
> exceptions(stacktrace below) and the server stops responding.
> Looking at Amazon RDS monitoring it shows the connection limit
> reached 97%. Restarted the server and after about the same time the
> same problem happened.
> 
> With 7.0.50 the highest value reached was 60%, so I think that the 
> connection pool may be leaking.
> 
> I understand that DBCP2 isn't final yet. I just like to know if
> that is a known issue, so I'll return to Tomcat 7.

As always, you should make sure that your own code is handling your
JDBC resources properly. It's possible that DBCP2 is less forgiving
than earlier versions when it comes to sloppy resource management.

- -chris
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQIcBAEBCAAGBQJTEOi8AAoJEBzwKT+lPKRYFtYQAK8yQ89mYW2+jMKiiYZG+CF6
fFHtUhnddZvuZcIwyw3pVwNosruEjL49X0gkChcQ1vwQQeUrcw4HOvEfBBjynwds
dZuO+Fan0BCiDk+I1AcgIf4EnL5O6gMF02031kB7OhDv3AZQFqtfmP+zuoWMSsel
K27x3ri2lFMa3IvPD+kVf6ZSjejKNe6D5s3k5Gl1Lmo5cqH8y2cK1pI9RliUZvcG
ukgrIEV5giDi/MdFcycv8Up4f+5lWe9YEGz2iqHbuTSp9iHWOgS3Bfy+fkUr8wVz
UN0QUPvHGWwg+VqpYB7SxwimJyV/1foS1zKt6y35R35va9doZ8WQsM944FkwUFl9
oSNkG0JRyE/4ZXZ2KYsoa1zQ/R1tScSgGQKHcUYGfHWqruuNDnTD0WVvoixlqe2A
NZGLjQFsu0xeNhPJKtTYuvRsFaGqK/+VEhp8RkKyEwzFIKh2NoyimYHChR0f5S0D
ULxlHOW0qWCeXTBvG58u/Q9O67hKQVn1B2iFl7OWIXGYez8+jQacRHVlslUSiEvM
fem2Lzpo+RDu3XjWDLdRhNnzIsUTUpcgqm4+y3aATL5i1ZDDZdeLag2aMC+L0w4M
MFYeb56Et7x7oh+AEvvSnZvHqmfUS1sa6VRFUubKdcwTk/SVAKSwj/w7T3FOH32C
BPY5oH+F+tGm3vwvUqcO
=l+nK
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: DBCP2 connection pool leak?

Posted by Felipe Jaekel <fk...@gmail.com>.
Changing to tomcat-jdbc solved the problem.

Thanks


2014-02-28 16:03 GMT-03:00 Filip Hanik <fi...@hanik.com>:

> you can try out tomcat-jdbc, and see if that solves your problem, it may
> help you narrow it down.
> http://tomcat.apache.org/tomcat-8.0-doc/jdbc-pool.html
>
>
>
>
> On Fri, Feb 28, 2014 at 11:26 AM, Mark Thomas <ma...@apache.org> wrote:
>
> > On 28/02/2014 18:22, Felipe Jaekel wrote:
> > > Hi,
> > >
> > > Today I tried to migrate my production server from 7.0.50 to 8.0.3.
> > >
> > > After about 3 hours running I start to get JDBC exceptions(stacktrace
> > > below) and the server stops responding. Looking at Amazon RDS
> monitoring
> > it
> > > shows the connection limit reached 97%. Restarted the server and after
> > > about the same time the same problem happened.
> > >
> > > With 7.0.50 the highest value reached was 60%, so I think that the
> > > connection pool may be leaking.
> > >
> > > I understand that DBCP2 isn't final yet. I just like to know if that
> is a
> > > known issue, so I'll return to Tomcat 7.
> >
> > It isn't a known issue. There have been some code changes since the DBCP
> > version that was used in 8.0.3 but nothing I recall that related to a
> > connection leak. It is worth taking a look at what is going on with JMX
> > as that might give you some hints.
> >
> > Mark
> >
> > >
> > > Thanks,
> > > Phillip
> > >
> > >
> > >
> >
> --------------------------------------------------------------------------------
> > >
> > > javax.persistence.PersistenceException:
> > > org.hibernate.exception.GenericJDBCException: could not inspect JDBC
> > > autocommit mode
> > >       at
> >
> org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1387)
> > >       at
> >
> org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1310)
> > >       at
> org.hibernate.ejb.QueryImpl.getSingleResult(QueryImpl.java:316)
> > >       at
> >
> br.com.spdata.persistence.mysql.service.ErroService.checkExistente(ErroService.java:134)
> > >       at
> >
> br.com.spdata.persistence.mysql.service.ErroService.persist(ErroService.java:58)
> > >       at
> >
> br.com.spdata.email.AbstractErrorPageController.(AbstractErrorPageController.java:78)
> > >       at
> > br.com.spdata.tecnico.ErrorPageController.(ErrorPageController.java:14)
> > >       at
> sun.reflect.GeneratedConstructorAccessor798.newInstance(Unknown
> > Source)
> > >       at
> >
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> > >       at
> java.lang.reflect.Constructor.newInstance(Constructor.java:526)
> > >       at java.lang.Class.newInstance(Class.java:374)
> > >       at
> > com.sun.faces.mgbean.BeanBuilder.newBeanInstance(BeanBuilder.java:186)
> > >       at com.sun.faces.mgbean.BeanBuilder.build(BeanBuilder.java:100)
> > >       at
> > com.sun.faces.mgbean.BeanManager.createAndPush(BeanManager.java:409)
> > >       at com.sun.faces.mgbean.BeanManager.create(BeanManager.java:269)
> > >       at
> >
> com.sun.faces.el.ManagedBeanELResolver.resolveBean(ManagedBeanELResolver.java:257)
> > >       at
> >
> com.sun.faces.el.ManagedBeanELResolver.getValue(ManagedBeanELResolver.java:117)
> > >       at
> >
> com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
> > >       at
> >
> com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
> > >       at
> > org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:80)
> > >       at org.apache.el.parser.AstValue.getValue(AstValue.java:135)
> > >       at
> > org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:187)
> > >       at
> >
> com.sun.faces.facelets.el.ELText$ELTextVariable.writeText(ELText.java:238)
> > >       at
> >
> com.sun.faces.facelets.el.ELText$ELTextComposite.writeText(ELText.java:154)
> > >       at
> >
> com.sun.faces.facelets.compiler.TextInstruction.write(TextInstruction.java:85)
> > >       at
> >
> com.sun.faces.facelets.compiler.UIInstructions.encodeBegin(UIInstructions.java:82)
> > >       at
> > com.sun.faces.facelets.compiler.UILeaf.encodeAll(UILeaf.java:183)
> > >       at
> > javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)
> > >       at
> > org.primefaces.renderkit.HeadRenderer.encodeEnd(HeadRenderer.java:106)
> > >       at
> > javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919)
> > >       at
> > javax.faces.component.UIComponent.encodeAll(UIComponent.java:1863)
> > >       at
> > javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)
> > >       at
> >
> com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:461)
> > >       at
> >
> com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:133)
> > >       at
> >
> javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:337)
> > >       at
> >
> com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)
> > >       at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
> > >       at
> > com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)
> > >       at javax.faces.webapp.FacesServlet.service(FacesServlet.java:647)
> > >       at
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:301)
> > >       at
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> > >       at
> >
> org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
> > >       at
> >
> org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
> > >       at
> >
> org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
> > >       at
> >
> org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
> > >       at
> >
> org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
> > >       at
> >
> org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
> > >       at
> >
> org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
> > >       at
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
> > >       at
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> > >       at
> >
> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:721)
> > >       at
> >
> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:468)
> > >       at
> >
> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:391)
> > >       at
> >
> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:318)
> > >       at
> >
> org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:423)
> > >       at
> >
> org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:367)
> > >       at
> >
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:166)
> > >       at
> >
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:74)
> > >       at
> >
> org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
> > >       at
> >
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
> > >       at
> >
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:516)
> > >       at
> >
> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1015)
> > >       at
> >
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:652)
> > >       at
> >
> org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)
> > >       at
> >
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1575)
> > >       at
> >
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1533)
> > >       at
> >
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> > >       at
> >
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> > >       at java.lang.Thread.run(Thread.java:744)
> > > Caused by: org.hibernate.exception.GenericJDBCException: could not
> > > inspect JDBC autocommit mode
> > >       at
> >
> org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:54)
> > >       at
> >
> org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:124)
> > >       at
> >
> org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:109)
> > >       at
> >
> org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.isAutoCommit(LogicalConnectionImpl.java:311)
> > >       at
> >
> org.hibernate.engine.transaction.internal.TransactionCoordinatorImpl.afterNonTransactionalQuery(TransactionCoordinatorImpl.java:200)
> > >       at
> > org.hibernate.internal.SessionImpl.afterOperation(SessionImpl.java:477)
> > >       at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1199)
> > >       at org.hibernate.internal.QueryImpl.list(QueryImpl.java:101)
> > >       at
> org.hibernate.ejb.QueryImpl.getSingleResult(QueryImpl.java:287)
> > >       ... 66 more
> > > Caused by: java.sql.SQLException: Connection
> > > com.mysql.jdbc.JDBC4Connection@1c4edb45 is closed.
> > >       at
> >
> org.apache.tomcat.dbcp.dbcp2.DelegatingConnection.checkOpen(DelegatingConnection.java:569)
> > >       at
> >
> org.apache.tomcat.dbcp.dbcp2.DelegatingConnection.getAutoCommit(DelegatingConnection.java:366)
> > >       at
> >
> org.apache.tomcat.dbcp.dbcp2.DelegatingConnection.getAutoCommit(DelegatingConnection.java:371)
> > >       at
> >
> org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.isAutoCommit(LogicalConnectionImpl.java:308)
> > >       ... 71 more
> > >
> > >
> > >
> >
> --------------------------------------------------------------------------------
> > >
> > >
> > > javax.persistence.PersistenceException:
> > > org.hibernate.exception.GenericJDBCException: could not prepare
> > > statement
> > >       at
> >
> org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1387)
> > >       at
> >
> org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1310)
> > >       at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:277)
> > >       at
> >
> br.com.spdata.persistence.mysql.dao.AtendimentoDao.findFilaGeral(AtendimentoDao.java:45)
> > >       at
> >
> br.com.spdata.persistence.mysql.service.chat.AtendimentoService.calculaPosicaoFila(AtendimentoService.java:482)
> > >       at
> >
> br.com.spdata.persistence.model.chat.AbstractAtendimentoBean.getMensagemFila(AbstractAtendimentoBean.java:359)
> > >       at sun.reflect.GeneratedMethodAccessor1166.invoke(Unknown Source)
> > >       at
> >
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> > >       at java.lang.reflect.Method.invoke(Method.java:606)
> > >       at javax.el.BeanELResolver.getValue(BeanELResolver.java:97)
> > >       at
> >
> com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
> > >       at
> >
> com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
> > >       at org.apache.el.parser.AstValue.getValue(AstValue.java:167)
> > >       at
> > org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:187)
> > >       at
> >
> com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)
> > >       at
> >
> javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194)
> > >       at
> >
> javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:182)
> > >       at javax.faces.component.UIOutput.getValue(UIOutput.java:174)
> > >       at
> >
> com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:205)
> > >       at
> >
> com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:355)
> > >       at
> >
> com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:164)
> > >       at
> > javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919)
> > >       at
> >
> com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:312)
> > >       at
> >
> com.sun.faces.renderkit.html_basic.GridRenderer.renderRow(GridRenderer.java:185)
> > >       at
> >
> com.sun.faces.renderkit.html_basic.GridRenderer.encodeChildren(GridRenderer.java:129)
> > >       at
> >
> javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:889)
> > >       at
> > javax.faces.component.UIComponent.encodeAll(UIComponent.java:1856)
> > >       at javax.faces.render.Renderer.encodeChildren(Renderer.java:176)
> > >       at
> >
> javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:889)
> > >       at
> > org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:71)
> > >       at
> >
> org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:58)
> > >       at
> >
> org.primefaces.component.panel.PanelRenderer.encodeContent(PanelRenderer.java:204)
> > >       at
> >
> org.primefaces.component.panel.PanelRenderer.encodeMarkup(PanelRenderer.java:121)
> > >       at
> >
> org.primefaces.component.panel.PanelRenderer.encodeEnd(PanelRenderer.java:58)
> > >       at
> > javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919)
> > >       at
> > org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:75)
> > >       at
> >
> org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:58)
> > >       at
> >
> org.primefaces.component.outputpanel.OutputPanelRenderer.encodeMarkup(OutputPanelRenderer.java:64)
> > >       at
> >
> org.primefaces.component.outputpanel.OutputPanelRenderer.encodeEnd(OutputPanelRenderer.java:40)
> > >       at
> > javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919)
> > >       at
> > javax.faces.component.UIComponent.encodeAll(UIComponent.java:1863)
> > >       at
> >
> com.sun.faces.context.PartialViewContextImpl$PhaseAwareVisitCallback.visit(PartialViewContextImpl.java:570)
> > >       at
> >
> com.sun.faces.component.visit.PartialVisitContext.invokeVisitCallback(PartialVisitContext.java:183)
> > >       at
> > javax.faces.component.UIComponent.visitTree(UIComponent.java:1689)
> > >       at
> > javax.faces.component.UIComponent.visitTree(UIComponent.java:1700)
> > >       at
> > javax.faces.component.UIComponent.visitTree(UIComponent.java:1700)
> > >       at
> >
> com.sun.faces.context.PartialViewContextImpl.processComponents(PartialViewContextImpl.java:402)
> > >       at
> >
> com.sun.faces.context.PartialViewContextImpl.processPartial(PartialViewContextImpl.java:322)
> > >       at
> >
> javax.faces.context.PartialViewContextWrapper.processPartial(PartialViewContextWrapper.java:219)
> > >       at
> >
> org.primefaces.context.PrimePartialViewContext.processPartial(PrimePartialViewContext.java:59)
> > >       at
> > javax.faces.component.UIViewRoot.encodeChildren(UIViewRoot.java:1004)
> > >       at
> > javax.faces.component.UIComponent.encodeAll(UIComponent.java:1856)
> > >       at
> >
> com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:435)
> > >       at
> >
> com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:133)
> > >       at
> >
> javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:337)
> > >       at
> >
> com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)
> > >       at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
> > >       at
> > com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)
> > >       at javax.faces.webapp.FacesServlet.service(FacesServlet.java:647)
> > >       at
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:301)
> > >       at
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> > >       at
> >
> org.omnifaces.filter.CacheControlFilter.doFilter(CacheControlFilter.java:226)
> > >       at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:77)
> > >       at
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
> > >       at
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> > >       at
> >
> org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:98)
> > >       at
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
> > >       at
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> > >       at
> > org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
> > >       at
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
> > >       at
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> > >       at
> > br.com.spdata.filter.ExceptionFilter.doFilter(ExceptionFilter.java:36)
> > >       at
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
> > >       at
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> > >       at
> > br.com.spdata.cliente.filter.LoginFilter.doFilter(LoginFilter.java:40)
> > >       at
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
> > >       at
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> > >       at
> >
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
> > >       at
> >
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
> > >       at
> >
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
> > >       at
> >
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:136)
> > >       at
> >
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:74)
> > >       at
> >
> org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
> > >       at
> >
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
> > >       at
> >
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:516)
> > >       at
> >
> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1015)
> > >       at
> >
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:652)
> > >       at
> >
> org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)
> > >       at
> >
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1575)
> > >       at
> >
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1533)
> > >       at
> >
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> > >       at
> >
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> > >       at java.lang.Thread.run(Thread.java:744)
> > > Caused by: org.hibernate.exception.GenericJDBCException: could not
> > > prepare statement
> > >       at
> >
> org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:54)
> > >       at
> >
> org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:125)
> > >       at
> >
> org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement(StatementPreparerImpl.java:193)
> > >       at
> >
> org.hibernate.engine.jdbc.internal.StatementPreparerImpl.prepareQueryStatement(StatementPreparerImpl.java:157)
> > >       at
> > org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1881)
> > >       at
> > org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1858)
> > >       at
> > org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1838)
> > >       at org.hibernate.loader.Loader.doQuery(Loader.java:906)
> > >       at
> >
> org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:348)
> > >       at org.hibernate.loader.Loader.doList(Loader.java:2548)
> > >       at org.hibernate.loader.Loader.doList(Loader.java:2534)
> > >       at
> > org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2364)
> > >       at org.hibernate.loader.Loader.list(Loader.java:2359)
> > >       at
> org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:495)
> > >       at
> >
> org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:357)
> > >       at
> >
> org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:195)
> > >       at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1194)
> > >       at org.hibernate.internal.QueryImpl.list(QueryImpl.java:101)
> > >       at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:268)
> > >       ... 90 more
> > > Caused by: java.sql.SQLException: Connection
> > > com.mysql.jdbc.JDBC4Connection@f1e90be is closed.
> > >       at
> >
> org.apache.tomcat.dbcp.dbcp2.DelegatingConnection.checkOpen(DelegatingConnection.java:569)
> > >       at
> >
> org.apache.tomcat.dbcp.dbcp2.DelegatingConnection.prepareStatement(DelegatingConnection.java:278)
> > >       at
> >
> org.apache.tomcat.dbcp.dbcp2.DelegatingConnection.prepareStatement(DelegatingConnection.java:280)
> > >       at
> >
> org.hibernate.engine.jdbc.internal.StatementPreparerImpl$5.doPrepare(StatementPreparerImpl.java:159)
> > >       at
> >
> org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement(StatementPreparerImpl.java:183)
> > >       ... 106 more
> > >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> > For additional commands, e-mail: users-help@tomcat.apache.org
> >
> >
>

Re: DBCP2 connection pool leak?

Posted by Filip Hanik <fi...@hanik.com>.
you can try out tomcat-jdbc, and see if that solves your problem, it may
help you narrow it down.
http://tomcat.apache.org/tomcat-8.0-doc/jdbc-pool.html




On Fri, Feb 28, 2014 at 11:26 AM, Mark Thomas <ma...@apache.org> wrote:

> On 28/02/2014 18:22, Felipe Jaekel wrote:
> > Hi,
> >
> > Today I tried to migrate my production server from 7.0.50 to 8.0.3.
> >
> > After about 3 hours running I start to get JDBC exceptions(stacktrace
> > below) and the server stops responding. Looking at Amazon RDS monitoring
> it
> > shows the connection limit reached 97%. Restarted the server and after
> > about the same time the same problem happened.
> >
> > With 7.0.50 the highest value reached was 60%, so I think that the
> > connection pool may be leaking.
> >
> > I understand that DBCP2 isn't final yet. I just like to know if that is a
> > known issue, so I'll return to Tomcat 7.
>
> It isn't a known issue. There have been some code changes since the DBCP
> version that was used in 8.0.3 but nothing I recall that related to a
> connection leak. It is worth taking a look at what is going on with JMX
> as that might give you some hints.
>
> Mark
>
> >
> > Thanks,
> > Phillip
> >
> >
> >
> --------------------------------------------------------------------------------
> >
> > javax.persistence.PersistenceException:
> > org.hibernate.exception.GenericJDBCException: could not inspect JDBC
> > autocommit mode
> >       at
> org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1387)
> >       at
> org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1310)
> >       at org.hibernate.ejb.QueryImpl.getSingleResult(QueryImpl.java:316)
> >       at
> br.com.spdata.persistence.mysql.service.ErroService.checkExistente(ErroService.java:134)
> >       at
> br.com.spdata.persistence.mysql.service.ErroService.persist(ErroService.java:58)
> >       at
> br.com.spdata.email.AbstractErrorPageController.(AbstractErrorPageController.java:78)
> >       at
> br.com.spdata.tecnico.ErrorPageController.(ErrorPageController.java:14)
> >       at sun.reflect.GeneratedConstructorAccessor798.newInstance(Unknown
> Source)
> >       at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> >       at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
> >       at java.lang.Class.newInstance(Class.java:374)
> >       at
> com.sun.faces.mgbean.BeanBuilder.newBeanInstance(BeanBuilder.java:186)
> >       at com.sun.faces.mgbean.BeanBuilder.build(BeanBuilder.java:100)
> >       at
> com.sun.faces.mgbean.BeanManager.createAndPush(BeanManager.java:409)
> >       at com.sun.faces.mgbean.BeanManager.create(BeanManager.java:269)
> >       at
> com.sun.faces.el.ManagedBeanELResolver.resolveBean(ManagedBeanELResolver.java:257)
> >       at
> com.sun.faces.el.ManagedBeanELResolver.getValue(ManagedBeanELResolver.java:117)
> >       at
> com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
> >       at
> com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
> >       at
> org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:80)
> >       at org.apache.el.parser.AstValue.getValue(AstValue.java:135)
> >       at
> org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:187)
> >       at
> com.sun.faces.facelets.el.ELText$ELTextVariable.writeText(ELText.java:238)
> >       at
> com.sun.faces.facelets.el.ELText$ELTextComposite.writeText(ELText.java:154)
> >       at
> com.sun.faces.facelets.compiler.TextInstruction.write(TextInstruction.java:85)
> >       at
> com.sun.faces.facelets.compiler.UIInstructions.encodeBegin(UIInstructions.java:82)
> >       at
> com.sun.faces.facelets.compiler.UILeaf.encodeAll(UILeaf.java:183)
> >       at
> javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)
> >       at
> org.primefaces.renderkit.HeadRenderer.encodeEnd(HeadRenderer.java:106)
> >       at
> javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919)
> >       at
> javax.faces.component.UIComponent.encodeAll(UIComponent.java:1863)
> >       at
> javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)
> >       at
> com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:461)
> >       at
> com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:133)
> >       at
> javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:337)
> >       at
> com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)
> >       at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
> >       at
> com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)
> >       at javax.faces.webapp.FacesServlet.service(FacesServlet.java:647)
> >       at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:301)
> >       at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> >       at
> org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
> >       at
> org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
> >       at
> org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
> >       at
> org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
> >       at
> org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
> >       at
> org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
> >       at
> org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
> >       at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
> >       at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> >       at
> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:721)
> >       at
> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:468)
> >       at
> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:391)
> >       at
> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:318)
> >       at
> org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:423)
> >       at
> org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:367)
> >       at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:166)
> >       at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:74)
> >       at
> org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
> >       at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
> >       at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:516)
> >       at
> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1015)
> >       at
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:652)
> >       at
> org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)
> >       at
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1575)
> >       at
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1533)
> >       at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> >       at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> >       at java.lang.Thread.run(Thread.java:744)
> > Caused by: org.hibernate.exception.GenericJDBCException: could not
> > inspect JDBC autocommit mode
> >       at
> org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:54)
> >       at
> org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:124)
> >       at
> org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:109)
> >       at
> org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.isAutoCommit(LogicalConnectionImpl.java:311)
> >       at
> org.hibernate.engine.transaction.internal.TransactionCoordinatorImpl.afterNonTransactionalQuery(TransactionCoordinatorImpl.java:200)
> >       at
> org.hibernate.internal.SessionImpl.afterOperation(SessionImpl.java:477)
> >       at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1199)
> >       at org.hibernate.internal.QueryImpl.list(QueryImpl.java:101)
> >       at org.hibernate.ejb.QueryImpl.getSingleResult(QueryImpl.java:287)
> >       ... 66 more
> > Caused by: java.sql.SQLException: Connection
> > com.mysql.jdbc.JDBC4Connection@1c4edb45 is closed.
> >       at
> org.apache.tomcat.dbcp.dbcp2.DelegatingConnection.checkOpen(DelegatingConnection.java:569)
> >       at
> org.apache.tomcat.dbcp.dbcp2.DelegatingConnection.getAutoCommit(DelegatingConnection.java:366)
> >       at
> org.apache.tomcat.dbcp.dbcp2.DelegatingConnection.getAutoCommit(DelegatingConnection.java:371)
> >       at
> org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.isAutoCommit(LogicalConnectionImpl.java:308)
> >       ... 71 more
> >
> >
> >
> --------------------------------------------------------------------------------
> >
> >
> > javax.persistence.PersistenceException:
> > org.hibernate.exception.GenericJDBCException: could not prepare
> > statement
> >       at
> org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1387)
> >       at
> org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1310)
> >       at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:277)
> >       at
> br.com.spdata.persistence.mysql.dao.AtendimentoDao.findFilaGeral(AtendimentoDao.java:45)
> >       at
> br.com.spdata.persistence.mysql.service.chat.AtendimentoService.calculaPosicaoFila(AtendimentoService.java:482)
> >       at
> br.com.spdata.persistence.model.chat.AbstractAtendimentoBean.getMensagemFila(AbstractAtendimentoBean.java:359)
> >       at sun.reflect.GeneratedMethodAccessor1166.invoke(Unknown Source)
> >       at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> >       at java.lang.reflect.Method.invoke(Method.java:606)
> >       at javax.el.BeanELResolver.getValue(BeanELResolver.java:97)
> >       at
> com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
> >       at
> com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
> >       at org.apache.el.parser.AstValue.getValue(AstValue.java:167)
> >       at
> org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:187)
> >       at
> com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)
> >       at
> javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194)
> >       at
> javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:182)
> >       at javax.faces.component.UIOutput.getValue(UIOutput.java:174)
> >       at
> com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:205)
> >       at
> com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:355)
> >       at
> com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:164)
> >       at
> javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919)
> >       at
> com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:312)
> >       at
> com.sun.faces.renderkit.html_basic.GridRenderer.renderRow(GridRenderer.java:185)
> >       at
> com.sun.faces.renderkit.html_basic.GridRenderer.encodeChildren(GridRenderer.java:129)
> >       at
> javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:889)
> >       at
> javax.faces.component.UIComponent.encodeAll(UIComponent.java:1856)
> >       at javax.faces.render.Renderer.encodeChildren(Renderer.java:176)
> >       at
> javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:889)
> >       at
> org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:71)
> >       at
> org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:58)
> >       at
> org.primefaces.component.panel.PanelRenderer.encodeContent(PanelRenderer.java:204)
> >       at
> org.primefaces.component.panel.PanelRenderer.encodeMarkup(PanelRenderer.java:121)
> >       at
> org.primefaces.component.panel.PanelRenderer.encodeEnd(PanelRenderer.java:58)
> >       at
> javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919)
> >       at
> org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:75)
> >       at
> org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:58)
> >       at
> org.primefaces.component.outputpanel.OutputPanelRenderer.encodeMarkup(OutputPanelRenderer.java:64)
> >       at
> org.primefaces.component.outputpanel.OutputPanelRenderer.encodeEnd(OutputPanelRenderer.java:40)
> >       at
> javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919)
> >       at
> javax.faces.component.UIComponent.encodeAll(UIComponent.java:1863)
> >       at
> com.sun.faces.context.PartialViewContextImpl$PhaseAwareVisitCallback.visit(PartialViewContextImpl.java:570)
> >       at
> com.sun.faces.component.visit.PartialVisitContext.invokeVisitCallback(PartialVisitContext.java:183)
> >       at
> javax.faces.component.UIComponent.visitTree(UIComponent.java:1689)
> >       at
> javax.faces.component.UIComponent.visitTree(UIComponent.java:1700)
> >       at
> javax.faces.component.UIComponent.visitTree(UIComponent.java:1700)
> >       at
> com.sun.faces.context.PartialViewContextImpl.processComponents(PartialViewContextImpl.java:402)
> >       at
> com.sun.faces.context.PartialViewContextImpl.processPartial(PartialViewContextImpl.java:322)
> >       at
> javax.faces.context.PartialViewContextWrapper.processPartial(PartialViewContextWrapper.java:219)
> >       at
> org.primefaces.context.PrimePartialViewContext.processPartial(PrimePartialViewContext.java:59)
> >       at
> javax.faces.component.UIViewRoot.encodeChildren(UIViewRoot.java:1004)
> >       at
> javax.faces.component.UIComponent.encodeAll(UIComponent.java:1856)
> >       at
> com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:435)
> >       at
> com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:133)
> >       at
> javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:337)
> >       at
> com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)
> >       at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
> >       at
> com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)
> >       at javax.faces.webapp.FacesServlet.service(FacesServlet.java:647)
> >       at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:301)
> >       at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> >       at
> org.omnifaces.filter.CacheControlFilter.doFilter(CacheControlFilter.java:226)
> >       at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:77)
> >       at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
> >       at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> >       at
> org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:98)
> >       at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
> >       at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> >       at
> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
> >       at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
> >       at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> >       at
> br.com.spdata.filter.ExceptionFilter.doFilter(ExceptionFilter.java:36)
> >       at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
> >       at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> >       at
> br.com.spdata.cliente.filter.LoginFilter.doFilter(LoginFilter.java:40)
> >       at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
> >       at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> >       at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
> >       at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
> >       at
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
> >       at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:136)
> >       at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:74)
> >       at
> org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
> >       at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
> >       at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:516)
> >       at
> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1015)
> >       at
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:652)
> >       at
> org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)
> >       at
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1575)
> >       at
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1533)
> >       at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> >       at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> >       at java.lang.Thread.run(Thread.java:744)
> > Caused by: org.hibernate.exception.GenericJDBCException: could not
> > prepare statement
> >       at
> org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:54)
> >       at
> org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:125)
> >       at
> org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement(StatementPreparerImpl.java:193)
> >       at
> org.hibernate.engine.jdbc.internal.StatementPreparerImpl.prepareQueryStatement(StatementPreparerImpl.java:157)
> >       at
> org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1881)
> >       at
> org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1858)
> >       at
> org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1838)
> >       at org.hibernate.loader.Loader.doQuery(Loader.java:906)
> >       at
> org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:348)
> >       at org.hibernate.loader.Loader.doList(Loader.java:2548)
> >       at org.hibernate.loader.Loader.doList(Loader.java:2534)
> >       at
> org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2364)
> >       at org.hibernate.loader.Loader.list(Loader.java:2359)
> >       at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:495)
> >       at
> org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:357)
> >       at
> org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:195)
> >       at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1194)
> >       at org.hibernate.internal.QueryImpl.list(QueryImpl.java:101)
> >       at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:268)
> >       ... 90 more
> > Caused by: java.sql.SQLException: Connection
> > com.mysql.jdbc.JDBC4Connection@f1e90be is closed.
> >       at
> org.apache.tomcat.dbcp.dbcp2.DelegatingConnection.checkOpen(DelegatingConnection.java:569)
> >       at
> org.apache.tomcat.dbcp.dbcp2.DelegatingConnection.prepareStatement(DelegatingConnection.java:278)
> >       at
> org.apache.tomcat.dbcp.dbcp2.DelegatingConnection.prepareStatement(DelegatingConnection.java:280)
> >       at
> org.hibernate.engine.jdbc.internal.StatementPreparerImpl$5.doPrepare(StatementPreparerImpl.java:159)
> >       at
> org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement(StatementPreparerImpl.java:183)
> >       ... 106 more
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
>

Re: DBCP2 connection pool leak?

Posted by Mark Thomas <ma...@apache.org>.
On 28/02/2014 18:22, Felipe Jaekel wrote:
> Hi,
> 
> Today I tried to migrate my production server from 7.0.50 to 8.0.3.
> 
> After about 3 hours running I start to get JDBC exceptions(stacktrace
> below) and the server stops responding. Looking at Amazon RDS monitoring it
> shows the connection limit reached 97%. Restarted the server and after
> about the same time the same problem happened.
> 
> With 7.0.50 the highest value reached was 60%, so I think that the
> connection pool may be leaking.
> 
> I understand that DBCP2 isn't final yet. I just like to know if that is a
> known issue, so I'll return to Tomcat 7.

It isn't a known issue. There have been some code changes since the DBCP
version that was used in 8.0.3 but nothing I recall that related to a
connection leak. It is worth taking a look at what is going on with JMX
as that might give you some hints.

Mark

> 
> Thanks,
> Phillip
> 
> 
> --------------------------------------------------------------------------------
> 
> javax.persistence.PersistenceException:
> org.hibernate.exception.GenericJDBCException: could not inspect JDBC
> autocommit mode
> 	at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1387)
> 	at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1310)
> 	at org.hibernate.ejb.QueryImpl.getSingleResult(QueryImpl.java:316)
> 	at br.com.spdata.persistence.mysql.service.ErroService.checkExistente(ErroService.java:134)
> 	at br.com.spdata.persistence.mysql.service.ErroService.persist(ErroService.java:58)
> 	at br.com.spdata.email.AbstractErrorPageController.(AbstractErrorPageController.java:78)
> 	at br.com.spdata.tecnico.ErrorPageController.(ErrorPageController.java:14)
> 	at sun.reflect.GeneratedConstructorAccessor798.newInstance(Unknown Source)
> 	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
> 	at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
> 	at java.lang.Class.newInstance(Class.java:374)
> 	at com.sun.faces.mgbean.BeanBuilder.newBeanInstance(BeanBuilder.java:186)
> 	at com.sun.faces.mgbean.BeanBuilder.build(BeanBuilder.java:100)
> 	at com.sun.faces.mgbean.BeanManager.createAndPush(BeanManager.java:409)
> 	at com.sun.faces.mgbean.BeanManager.create(BeanManager.java:269)
> 	at com.sun.faces.el.ManagedBeanELResolver.resolveBean(ManagedBeanELResolver.java:257)
> 	at com.sun.faces.el.ManagedBeanELResolver.getValue(ManagedBeanELResolver.java:117)
> 	at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
> 	at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
> 	at org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:80)
> 	at org.apache.el.parser.AstValue.getValue(AstValue.java:135)
> 	at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:187)
> 	at com.sun.faces.facelets.el.ELText$ELTextVariable.writeText(ELText.java:238)
> 	at com.sun.faces.facelets.el.ELText$ELTextComposite.writeText(ELText.java:154)
> 	at com.sun.faces.facelets.compiler.TextInstruction.write(TextInstruction.java:85)
> 	at com.sun.faces.facelets.compiler.UIInstructions.encodeBegin(UIInstructions.java:82)
> 	at com.sun.faces.facelets.compiler.UILeaf.encodeAll(UILeaf.java:183)
> 	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)
> 	at org.primefaces.renderkit.HeadRenderer.encodeEnd(HeadRenderer.java:106)
> 	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919)
> 	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1863)
> 	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)
> 	at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:461)
> 	at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:133)
> 	at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:337)
> 	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)
> 	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
> 	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)
> 	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:647)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:301)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
> 	at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
> 	at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
> 	at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
> 	at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
> 	at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
> 	at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:721)
> 	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:468)
> 	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:391)
> 	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:318)
> 	at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:423)
> 	at org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:367)
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:166)
> 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:74)
> 	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
> 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
> 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:516)
> 	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1015)
> 	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:652)
> 	at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)
> 	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1575)
> 	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1533)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> 	at java.lang.Thread.run(Thread.java:744)
> Caused by: org.hibernate.exception.GenericJDBCException: could not
> inspect JDBC autocommit mode
> 	at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:54)
> 	at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:124)
> 	at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:109)
> 	at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.isAutoCommit(LogicalConnectionImpl.java:311)
> 	at org.hibernate.engine.transaction.internal.TransactionCoordinatorImpl.afterNonTransactionalQuery(TransactionCoordinatorImpl.java:200)
> 	at org.hibernate.internal.SessionImpl.afterOperation(SessionImpl.java:477)
> 	at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1199)
> 	at org.hibernate.internal.QueryImpl.list(QueryImpl.java:101)
> 	at org.hibernate.ejb.QueryImpl.getSingleResult(QueryImpl.java:287)
> 	... 66 more
> Caused by: java.sql.SQLException: Connection
> com.mysql.jdbc.JDBC4Connection@1c4edb45 is closed.
> 	at org.apache.tomcat.dbcp.dbcp2.DelegatingConnection.checkOpen(DelegatingConnection.java:569)
> 	at org.apache.tomcat.dbcp.dbcp2.DelegatingConnection.getAutoCommit(DelegatingConnection.java:366)
> 	at org.apache.tomcat.dbcp.dbcp2.DelegatingConnection.getAutoCommit(DelegatingConnection.java:371)
> 	at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.isAutoCommit(LogicalConnectionImpl.java:308)
> 	... 71 more
> 
> 
> --------------------------------------------------------------------------------
> 
> 
> javax.persistence.PersistenceException:
> org.hibernate.exception.GenericJDBCException: could not prepare
> statement
> 	at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1387)
> 	at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1310)
> 	at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:277)
> 	at br.com.spdata.persistence.mysql.dao.AtendimentoDao.findFilaGeral(AtendimentoDao.java:45)
> 	at br.com.spdata.persistence.mysql.service.chat.AtendimentoService.calculaPosicaoFila(AtendimentoService.java:482)
> 	at br.com.spdata.persistence.model.chat.AbstractAtendimentoBean.getMensagemFila(AbstractAtendimentoBean.java:359)
> 	at sun.reflect.GeneratedMethodAccessor1166.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 	at java.lang.reflect.Method.invoke(Method.java:606)
> 	at javax.el.BeanELResolver.getValue(BeanELResolver.java:97)
> 	at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
> 	at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
> 	at org.apache.el.parser.AstValue.getValue(AstValue.java:167)
> 	at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:187)
> 	at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)
> 	at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194)
> 	at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:182)
> 	at javax.faces.component.UIOutput.getValue(UIOutput.java:174)
> 	at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:205)
> 	at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:355)
> 	at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:164)
> 	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919)
> 	at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:312)
> 	at com.sun.faces.renderkit.html_basic.GridRenderer.renderRow(GridRenderer.java:185)
> 	at com.sun.faces.renderkit.html_basic.GridRenderer.encodeChildren(GridRenderer.java:129)
> 	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:889)
> 	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1856)
> 	at javax.faces.render.Renderer.encodeChildren(Renderer.java:176)
> 	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:889)
> 	at org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:71)
> 	at org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:58)
> 	at org.primefaces.component.panel.PanelRenderer.encodeContent(PanelRenderer.java:204)
> 	at org.primefaces.component.panel.PanelRenderer.encodeMarkup(PanelRenderer.java:121)
> 	at org.primefaces.component.panel.PanelRenderer.encodeEnd(PanelRenderer.java:58)
> 	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919)
> 	at org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:75)
> 	at org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:58)
> 	at org.primefaces.component.outputpanel.OutputPanelRenderer.encodeMarkup(OutputPanelRenderer.java:64)
> 	at org.primefaces.component.outputpanel.OutputPanelRenderer.encodeEnd(OutputPanelRenderer.java:40)
> 	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919)
> 	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1863)
> 	at com.sun.faces.context.PartialViewContextImpl$PhaseAwareVisitCallback.visit(PartialViewContextImpl.java:570)
> 	at com.sun.faces.component.visit.PartialVisitContext.invokeVisitCallback(PartialVisitContext.java:183)
> 	at javax.faces.component.UIComponent.visitTree(UIComponent.java:1689)
> 	at javax.faces.component.UIComponent.visitTree(UIComponent.java:1700)
> 	at javax.faces.component.UIComponent.visitTree(UIComponent.java:1700)
> 	at com.sun.faces.context.PartialViewContextImpl.processComponents(PartialViewContextImpl.java:402)
> 	at com.sun.faces.context.PartialViewContextImpl.processPartial(PartialViewContextImpl.java:322)
> 	at javax.faces.context.PartialViewContextWrapper.processPartial(PartialViewContextWrapper.java:219)
> 	at org.primefaces.context.PrimePartialViewContext.processPartial(PrimePartialViewContext.java:59)
> 	at javax.faces.component.UIViewRoot.encodeChildren(UIViewRoot.java:1004)
> 	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1856)
> 	at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:435)
> 	at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:133)
> 	at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:337)
> 	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)
> 	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
> 	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)
> 	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:647)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:301)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at org.omnifaces.filter.CacheControlFilter.doFilter(CacheControlFilter.java:226)
> 	at org.omnifaces.filter.HttpFilter.doFilter(HttpFilter.java:77)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:98)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at br.com.spdata.filter.ExceptionFilter.doFilter(ExceptionFilter.java:36)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at br.com.spdata.cliente.filter.LoginFilter.doFilter(LoginFilter.java:40)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
> 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
> 	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:136)
> 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:74)
> 	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
> 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
> 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:516)
> 	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1015)
> 	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:652)
> 	at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)
> 	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1575)
> 	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1533)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> 	at java.lang.Thread.run(Thread.java:744)
> Caused by: org.hibernate.exception.GenericJDBCException: could not
> prepare statement
> 	at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:54)
> 	at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:125)
> 	at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement(StatementPreparerImpl.java:193)
> 	at org.hibernate.engine.jdbc.internal.StatementPreparerImpl.prepareQueryStatement(StatementPreparerImpl.java:157)
> 	at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1881)
> 	at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1858)
> 	at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1838)
> 	at org.hibernate.loader.Loader.doQuery(Loader.java:906)
> 	at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:348)
> 	at org.hibernate.loader.Loader.doList(Loader.java:2548)
> 	at org.hibernate.loader.Loader.doList(Loader.java:2534)
> 	at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2364)
> 	at org.hibernate.loader.Loader.list(Loader.java:2359)
> 	at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:495)
> 	at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:357)
> 	at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:195)
> 	at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1194)
> 	at org.hibernate.internal.QueryImpl.list(QueryImpl.java:101)
> 	at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:268)
> 	... 90 more
> Caused by: java.sql.SQLException: Connection
> com.mysql.jdbc.JDBC4Connection@f1e90be is closed.
> 	at org.apache.tomcat.dbcp.dbcp2.DelegatingConnection.checkOpen(DelegatingConnection.java:569)
> 	at org.apache.tomcat.dbcp.dbcp2.DelegatingConnection.prepareStatement(DelegatingConnection.java:278)
> 	at org.apache.tomcat.dbcp.dbcp2.DelegatingConnection.prepareStatement(DelegatingConnection.java:280)
> 	at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$5.doPrepare(StatementPreparerImpl.java:159)
> 	at org.hibernate.engine.jdbc.internal.StatementPreparerImpl$StatementPreparationTemplate.prepareStatement(StatementPreparerImpl.java:183)
> 	... 106 more
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org