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-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org