Database connection leak

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
12 messages Options
Reply | Threaded
Open this post in threaded view
|

Database connection leak

eysman
I've been trying to track down a leak somewhere in OFbiz, I'm hoping someone can give me a little help.

Basically, when multiple connections are made concurrently, one tends to remain open. The leak is slow and subtle, but it's definetly there. At first I thought it may be due to unclosed session objects, but as I started digging more, it appears to be something with the ofbiz SQL code.

I set up ro.kifs ConnLeakFinder to track the connections, below is an example of one stack trace. Can anyone help track down the issue?

ro.kifs.diagnostic.Connection.whoCalledMe() line:() line:62 ro.kifs.diagnostic.Connection.registerOpenedConnection() line:() line:27 ro.kifs.diagnostic.Connection.() line:() line:80 org.ofbiz.entity.jdbc.ConnectionFactory.getConnection() line:() line:81 org.ofbiz.entity.jdbc.SQLProcessor.getConnection() line:() line:262 org.ofbiz.entity.jdbc.SQLProcessor.prepareStatement() line:() line:368 org.ofbiz.entity.jdbc.SQLProcessor.prepareStatement() line:() line:352[code]ro.kifs.diagnostic.Connection.whoCalledMe() line:() line:62
ro.kifs.diagnostic.Connection.registerOpenedConnection() line:() line:27
ro.kifs.diagnostic.Connection.() line:() line:80
org.ofbiz.entity.jdbc.ConnectionFactory.getConnection() line:() line:81
org.ofbiz.entity.jdbc.SQLProcessor.getConnection() line:() line:262
org.ofbiz.entity.jdbc.SQLProcessor.prepareStatement() line:() line:368
org.ofbiz.entity.jdbc.SQLProcessor.prepareStatement() line:() line:352
org.ofbiz.entity.datasource.GenericDAO.select() line:() line:528
org.ofbiz.entity.datasource.GenericDAO.select() line:() line:499
org.ofbiz.entity.datasource.GenericHelperDAO.findByPrimaryKey() line:() line:83
org.ofbiz.entity.GenericDelegator.findByPrimaryKey() line:() line:1250
org.ofbiz.entity.GenericDelegator.findByPrimaryKeyCache() line:() line:1289
org.ofbiz.entity.GenericDelegator.findByPrimaryKeyCache() line:() line:1315
org.ofbiz.entity.GenericDelegator.getRelatedOneCache() line:() line:2129
org.ofbiz.entity.GenericValue.getRelatedOneCache() line:() line:315
org.ofbiz.product.category.CategoryWorker.getRelatedCategoriesRet() line:() line:192
org.ofbiz.product.category.CategoryWorker.getRelatedCategoriesRet() line:() line:160
org.ofbiz.product.category.CategoryWorker.getRelatedCategories() line:() line:145
org.ofbiz.product.category.CategoryWorker.getRelatedCategories() line:() line:141
sun.reflect.GeneratedMethodAccessor75.invoke() line:() line:-1
sun.reflect.DelegatingMethodAccessorImpl.invoke() line:() line:25
java.lang.reflect.Method.invoke() line:() line:585
bsh.Reflect.invokeMethod() line:() line:-1
bsh.Reflect.invokeStaticMethod() line:() line:-1
bsh.Name.invokeMethod() line:() line:-1
bsh.BSHMethodInvocation.eval() line:() line:-1
bsh.BSHPrimaryExpression.eval() line:() line:-1
bsh.BSHPrimaryExpression.eval() line:() line:-1
bsh.Interpreter.evalParsedScript() line:() line:-1
bsh.Interpreter.evalParsedScript() line:() line:-1
org.ofbiz.base.util.BshUtil.runBshAtLocation() line:() line:164
org.ofbiz.widget.screen.ModelScreenAction$Script.runAction() line:() line:391
org.ofbiz.widget.screen.ModelScreenAction.runSubActions() line:() line:121
org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString() line:() line:240
org.ofbiz.widget.screen.ModelScreen.renderScreenString() line:() line:138
org.ofbiz.widget.screen.ScreenRenderer.render() line:() line:108
org.ofbiz.widget.screen.ScreenRenderer.render() line:() line:93
sun.reflect.GeneratedMethodAccessor53.invoke() line:() line:-1
sun.reflect.DelegatingMethodAccessorImpl.invoke() line:() line:25
java.lang.reflect.Method.invoke() line:() line:585
freemarker.ext.beans.BeansWrapper.invokeMethod() line:() line:840
freemarker.ext.beans.OverloadedMethodModel.exec() line:() line:104
freemarker.core.MethodCall._getAsTemplateModel() line:() line:93
freemarker.core.Expression.getAsTemplateModel() line:() line:89
freemarker.core.Expression.getStringValue() line:() line:93
freemarker.core.DollarVariable.accept() line:() line:76
freemarker.core.Environment.visit() line:() line:209
freemarker.core.MixedContent.accept() line:() line:92
freemarker.core.Environment.visit() line:() line:209
freemarker.core.Environment.process() line:() line:189
freemarker.template.Template.process() line:() line:237
org.ofbiz.base.util.template.FreeMarkerWorker.renderTemplateAtLocation() line:() line:181
org.ofbiz.widget.screen.HtmlWidget.renderHtmlTemplate() line:() line:85
org.ofbiz.widget.screen.HtmlWidget$HtmlTemplateDecorator.renderWidgetString() line:() line:163
org.ofbiz.widget.screen.HtmlWidget.renderWidgetString() line:() line:68
org.ofbiz.widget.screen.ModelScreenWidget$PlatformSpecific.renderWidgetString() line:() line:809
org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString() line:() line:154
org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString() line:() line:247
org.ofbiz.widget.screen.ModelScreen.renderScreenString() line:() line:138
org.ofbiz.widget.screen.ModelScreenWidget$DecoratorScreen.renderWidgetString() line:() line:492
org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString() line:() line:154
org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString() line:() line:247
org.ofbiz.widget.screen.ModelScreen.renderScreenString() line:() line:138
org.ofbiz.widget.screen.ScreenRenderer.render() line:() line:108
org.ofbiz.widget.screen.ScreenRenderer.render() line:() line:93
org.ofbiz.widget.screen.ScreenWidgetViewHandler.render() line:() line:81
org.ofbiz.webapp.control.RequestHandler.renderView() line:() line:680
org.ofbiz.webapp.control.RequestHandler.doRequest() line:() line:437
org.ofbiz.webapp.control.ControlServlet.doGet() line:() line:192
javax.servlet.http.HttpServlet.service() line:() line:595
javax.servlet.http.HttpServlet.service() line:() line:688
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter() line:() line:252
org.apache.catalina.core.ApplicationFilterChain.doFilter() line:() line:173
org.apache.catalina.core.ApplicationDispatcher.invoke() line:() line:672
org.apache.catalina.core.ApplicationDispatcher.processRequest() line:() line:463
org.apache.catalina.core.ApplicationDispatcher.doForward() line:() line:398
org.apache.catalina.core.ApplicationDispatcher.forward() line:() line:301
com.folica.opentaps.actions.ecommerce.url.UserFriendlyUrlServlet.process() line:() line:153
com.folica.opentaps.actions.ecommerce.url.UserFriendlyUrlServlet.doGet() line:() line:76
javax.servlet.http.HttpServlet.service() line:() line:595
javax.servlet.http.HttpServlet.service() line:() line:688
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter() line:() line:252
org.apache.catalina.core.ApplicationFilterChain.doFilter() line:() line:173
org.ofbiz.webapp.control.ContextFilter.doFilter() line:() line:251
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter() line:() line:202
org.apache.catalina.core.ApplicationFilterChain.doFilter() line:() line:173
org.apache.catalina.core.StandardWrapperValve.invoke() line:() line:213
org.apache.catalina.core.StandardContextValve.invoke() line:() line:178
org.apache.catalina.core.StandardHostValve.invoke() line:() line:126
org.apache.catalina.valves.ErrorReportValve.invoke() line:() line:105
org.apache.catalina.core.StandardEngineValve.invoke() line:() line:107
org.apache.catalina.valves.AccessLogValve.invoke() line:() line:541
org.apache.catalina.connector.CoyoteAdapter.service() line:() line:148
org.apache.coyote.http11.Http11Processor.process() line:() line:869
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection() line:() line:664
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket() line:() line:527
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt() line:() line:80
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run() line:() line:684
Reply | Threaded
Open this post in threaded view
|

Re: Database connection leak

BJ Freeman
what version of ofbiz are you using?
please use the user mailing list for this.


=========================
BJ Freeman
http://bjfreeman.elance.com
Strategic Power Office with Supplier Automation <http://www.businessesnetwork.com/automation/viewforum.php?f=93>
Specialtymarket.com <http://www.specialtymarket.com/>

Systems Integrator-- Glad to Assist

Chat  Y! messenger: bjfr33man
Linkedin
<http://www.linkedin.com/profile?viewProfile=&key=1237480&locale=en_US&trk=tab_pro>


eysman sent the following on 3/25/2010 8:58 AM:

> I've been trying to track down a leak somewhere in OFbiz, I'm hoping someone
> can give me a little help.
>
> Basically, when multiple connections are made concurrently, one tends to
> remain open. The leak is slow and subtle, but it's definetly there. At first
> I thought it may be due to unclosed session objects, but as I started
> digging more, it appears to be something with the ofbiz SQL code.
>
> I set up ro.kifs ConnLeakFinder to track the connections, below is an
> example of one stack trace. Can anyone help track down the issue?
>
> ro.kifs.diagnostic.Connection.whoCalledMe() line:() line:62
> ro.kifs.diagnostic.Connection.registerOpenedConnection() line:() line:27
> ro.kifs.diagnostic.Connection.() line:() line:80
> org.ofbiz.entity.jdbc.ConnectionFactory.getConnection() line:() line:81
> org.ofbiz.entity.jdbc.SQLProcessor.getConnection() line:() line:262
> org.ofbiz.entity.jdbc.SQLProcessor.prepareStatement() line:() line:368
> org.ofbiz.entity.jdbc.SQLProcessor.prepareStatement() line:()
> line:352[code]ro.kifs.diagnostic.Connection.whoCalledMe() line:() line:62
> ro.kifs.diagnostic.Connection.registerOpenedConnection() line:() line:27
> ro.kifs.diagnostic.Connection.() line:() line:80
> org.ofbiz.entity.jdbc.ConnectionFactory.getConnection() line:() line:81
> org.ofbiz.entity.jdbc.SQLProcessor.getConnection() line:() line:262
> org.ofbiz.entity.jdbc.SQLProcessor.prepareStatement() line:() line:368
> org.ofbiz.entity.jdbc.SQLProcessor.prepareStatement() line:() line:352
> org.ofbiz.entity.datasource.GenericDAO.select() line:() line:528
> org.ofbiz.entity.datasource.GenericDAO.select() line:() line:499
> org.ofbiz.entity.datasource.GenericHelperDAO.findByPrimaryKey() line:()
> line:83
> org.ofbiz.entity.GenericDelegator.findByPrimaryKey() line:() line:1250
> org.ofbiz.entity.GenericDelegator.findByPrimaryKeyCache() line:() line:1289
> org.ofbiz.entity.GenericDelegator.findByPrimaryKeyCache() line:() line:1315
> org.ofbiz.entity.GenericDelegator.getRelatedOneCache() line:() line:2129
> org.ofbiz.entity.GenericValue.getRelatedOneCache() line:() line:315
> org.ofbiz.product.category.CategoryWorker.getRelatedCategoriesRet() line:()
> line:192
> org.ofbiz.product.category.CategoryWorker.getRelatedCategoriesRet() line:()
> line:160
> org.ofbiz.product.category.CategoryWorker.getRelatedCategories() line:()
> line:145
> org.ofbiz.product.category.CategoryWorker.getRelatedCategories() line:()
> line:141
> sun.reflect.GeneratedMethodAccessor75.invoke() line:() line:-1
> sun.reflect.DelegatingMethodAccessorImpl.invoke() line:() line:25
> java.lang.reflect.Method.invoke() line:() line:585
> bsh.Reflect.invokeMethod() line:() line:-1
> bsh.Reflect.invokeStaticMethod() line:() line:-1
> bsh.Name.invokeMethod() line:() line:-1
> bsh.BSHMethodInvocation.eval() line:() line:-1
> bsh.BSHPrimaryExpression.eval() line:() line:-1
> bsh.BSHPrimaryExpression.eval() line:() line:-1
> bsh.Interpreter.evalParsedScript() line:() line:-1
> bsh.Interpreter.evalParsedScript() line:() line:-1
> org.ofbiz.base.util.BshUtil.runBshAtLocation() line:() line:164
> org.ofbiz.widget.screen.ModelScreenAction$Script.runAction() line:()
> line:391
> org.ofbiz.widget.screen.ModelScreenAction.runSubActions() line:() line:121
> org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString()
> line:() line:240
> org.ofbiz.widget.screen.ModelScreen.renderScreenString() line:() line:138
> org.ofbiz.widget.screen.ScreenRenderer.render() line:() line:108
> org.ofbiz.widget.screen.ScreenRenderer.render() line:() line:93
> sun.reflect.GeneratedMethodAccessor53.invoke() line:() line:-1
> sun.reflect.DelegatingMethodAccessorImpl.invoke() line:() line:25
> java.lang.reflect.Method.invoke() line:() line:585
> freemarker.ext.beans.BeansWrapper.invokeMethod() line:() line:840
> freemarker.ext.beans.OverloadedMethodModel.exec() line:() line:104
> freemarker.core.MethodCall._getAsTemplateModel() line:() line:93
> freemarker.core.Expression.getAsTemplateModel() line:() line:89
> freemarker.core.Expression.getStringValue() line:() line:93
> freemarker.core.DollarVariable.accept() line:() line:76
> freemarker.core.Environment.visit() line:() line:209
> freemarker.core.MixedContent.accept() line:() line:92
> freemarker.core.Environment.visit() line:() line:209
> freemarker.core.Environment.process() line:() line:189
> freemarker.template.Template.process() line:() line:237
> org.ofbiz.base.util.template.FreeMarkerWorker.renderTemplateAtLocation()
> line:() line:181
> org.ofbiz.widget.screen.HtmlWidget.renderHtmlTemplate() line:() line:85
> org.ofbiz.widget.screen.HtmlWidget$HtmlTemplateDecorator.renderWidgetString()
> line:() line:163
> org.ofbiz.widget.screen.HtmlWidget.renderWidgetString() line:() line:68
> org.ofbiz.widget.screen.ModelScreenWidget$PlatformSpecific.renderWidgetString()
> line:() line:809
> org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString() line:()
> line:154
> org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString()
> line:() line:247
> org.ofbiz.widget.screen.ModelScreen.renderScreenString() line:() line:138
> org.ofbiz.widget.screen.ModelScreenWidget$DecoratorScreen.renderWidgetString()
> line:() line:492
> org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString() line:()
> line:154
> org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString()
> line:() line:247
> org.ofbiz.widget.screen.ModelScreen.renderScreenString() line:() line:138
> org.ofbiz.widget.screen.ScreenRenderer.render() line:() line:108
> org.ofbiz.widget.screen.ScreenRenderer.render() line:() line:93
> org.ofbiz.widget.screen.ScreenWidgetViewHandler.render() line:() line:81
> org.ofbiz.webapp.control.RequestHandler.renderView() line:() line:680
> org.ofbiz.webapp.control.RequestHandler.doRequest() line:() line:437
> org.ofbiz.webapp.control.ControlServlet.doGet() line:() line:192
> javax.servlet.http.HttpServlet.service() line:() line:595
> javax.servlet.http.HttpServlet.service() line:() line:688
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter() line:()
> line:252
> org.apache.catalina.core.ApplicationFilterChain.doFilter() line:() line:173
> org.apache.catalina.core.ApplicationDispatcher.invoke() line:() line:672
> org.apache.catalina.core.ApplicationDispatcher.processRequest() line:()
> line:463
> org.apache.catalina.core.ApplicationDispatcher.doForward() line:() line:398
> org.apache.catalina.core.ApplicationDispatcher.forward() line:() line:301
> com.folica.opentaps.actions.ecommerce.url.UserFriendlyUrlServlet.process()
> line:() line:153
> com.folica.opentaps.actions.ecommerce.url.UserFriendlyUrlServlet.doGet()
> line:() line:76
> javax.servlet.http.HttpServlet.service() line:() line:595
> javax.servlet.http.HttpServlet.service() line:() line:688
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter() line:()
> line:252
> org.apache.catalina.core.ApplicationFilterChain.doFilter() line:() line:173
> org.ofbiz.webapp.control.ContextFilter.doFilter() line:() line:251
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter() line:()
> line:202
> org.apache.catalina.core.ApplicationFilterChain.doFilter() line:() line:173
> org.apache.catalina.core.StandardWrapperValve.invoke() line:() line:213
> org.apache.catalina.core.StandardContextValve.invoke() line:() line:178
> org.apache.catalina.core.StandardHostValve.invoke() line:() line:126
> org.apache.catalina.valves.ErrorReportValve.invoke() line:() line:105
> org.apache.catalina.core.StandardEngineValve.invoke() line:() line:107
> org.apache.catalina.valves.AccessLogValve.invoke() line:() line:541
> org.apache.catalina.connector.CoyoteAdapter.service() line:() line:148
> org.apache.coyote.http11.Http11Processor.process() line:() line:869
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection()
> line:() line:664
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket() line:() line:527
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt() line:()
> line:80
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run() line:()
> line:684


Reply | Threaded
Open this post in threaded view
|

Re: Database connection leak

David E. Jones-2

This seems to be talking about an issue with OFBiz itself and so is about development of OFBiz. The dev list is the place for it.

-David


On Mar 25, 2010, at 10:18 AM, BJ Freeman wrote:

> what version of ofbiz are you using?
> please use the user mailing list for this.
>
>
> =========================
> BJ Freeman
> http://bjfreeman.elance.com
> Strategic Power Office with Supplier Automation <http://www.businessesnetwork.com/automation/viewforum.php?f=93>
> Specialtymarket.com <http://www.specialtymarket.com/>
>
> Systems Integrator-- Glad to Assist
>
> Chat  Y! messenger: bjfr33man
> Linkedin
> <http://www.linkedin.com/profile?viewProfile=&key=1237480&locale=en_US&trk=tab_pro>
>
>
> eysman sent the following on 3/25/2010 8:58 AM:
>> I've been trying to track down a leak somewhere in OFbiz, I'm hoping someone
>> can give me a little help.
>>
>> Basically, when multiple connections are made concurrently, one tends to
>> remain open. The leak is slow and subtle, but it's definetly there. At first
>> I thought it may be due to unclosed session objects, but as I started
>> digging more, it appears to be something with the ofbiz SQL code.
>>
>> I set up ro.kifs ConnLeakFinder to track the connections, below is an
>> example of one stack trace. Can anyone help track down the issue?
>>
>> ro.kifs.diagnostic.Connection.whoCalledMe() line:() line:62
>> ro.kifs.diagnostic.Connection.registerOpenedConnection() line:() line:27
>> ro.kifs.diagnostic.Connection.() line:() line:80
>> org.ofbiz.entity.jdbc.ConnectionFactory.getConnection() line:() line:81
>> org.ofbiz.entity.jdbc.SQLProcessor.getConnection() line:() line:262
>> org.ofbiz.entity.jdbc.SQLProcessor.prepareStatement() line:() line:368
>> org.ofbiz.entity.jdbc.SQLProcessor.prepareStatement() line:()
>> line:352[code]ro.kifs.diagnostic.Connection.whoCalledMe() line:() line:62
>> ro.kifs.diagnostic.Connection.registerOpenedConnection() line:() line:27
>> ro.kifs.diagnostic.Connection.() line:() line:80
>> org.ofbiz.entity.jdbc.ConnectionFactory.getConnection() line:() line:81
>> org.ofbiz.entity.jdbc.SQLProcessor.getConnection() line:() line:262
>> org.ofbiz.entity.jdbc.SQLProcessor.prepareStatement() line:() line:368
>> org.ofbiz.entity.jdbc.SQLProcessor.prepareStatement() line:() line:352
>> org.ofbiz.entity.datasource.GenericDAO.select() line:() line:528
>> org.ofbiz.entity.datasource.GenericDAO.select() line:() line:499
>> org.ofbiz.entity.datasource.GenericHelperDAO.findByPrimaryKey() line:()
>> line:83
>> org.ofbiz.entity.GenericDelegator.findByPrimaryKey() line:() line:1250
>> org.ofbiz.entity.GenericDelegator.findByPrimaryKeyCache() line:() line:1289
>> org.ofbiz.entity.GenericDelegator.findByPrimaryKeyCache() line:() line:1315
>> org.ofbiz.entity.GenericDelegator.getRelatedOneCache() line:() line:2129
>> org.ofbiz.entity.GenericValue.getRelatedOneCache() line:() line:315
>> org.ofbiz.product.category.CategoryWorker.getRelatedCategoriesRet() line:()
>> line:192
>> org.ofbiz.product.category.CategoryWorker.getRelatedCategoriesRet() line:()
>> line:160
>> org.ofbiz.product.category.CategoryWorker.getRelatedCategories() line:()
>> line:145
>> org.ofbiz.product.category.CategoryWorker.getRelatedCategories() line:()
>> line:141
>> sun.reflect.GeneratedMethodAccessor75.invoke() line:() line:-1
>> sun.reflect.DelegatingMethodAccessorImpl.invoke() line:() line:25
>> java.lang.reflect.Method.invoke() line:() line:585
>> bsh.Reflect.invokeMethod() line:() line:-1
>> bsh.Reflect.invokeStaticMethod() line:() line:-1
>> bsh.Name.invokeMethod() line:() line:-1
>> bsh.BSHMethodInvocation.eval() line:() line:-1
>> bsh.BSHPrimaryExpression.eval() line:() line:-1
>> bsh.BSHPrimaryExpression.eval() line:() line:-1
>> bsh.Interpreter.evalParsedScript() line:() line:-1
>> bsh.Interpreter.evalParsedScript() line:() line:-1
>> org.ofbiz.base.util.BshUtil.runBshAtLocation() line:() line:164
>> org.ofbiz.widget.screen.ModelScreenAction$Script.runAction() line:()
>> line:391
>> org.ofbiz.widget.screen.ModelScreenAction.runSubActions() line:() line:121
>> org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString()
>> line:() line:240
>> org.ofbiz.widget.screen.ModelScreen.renderScreenString() line:() line:138
>> org.ofbiz.widget.screen.ScreenRenderer.render() line:() line:108
>> org.ofbiz.widget.screen.ScreenRenderer.render() line:() line:93
>> sun.reflect.GeneratedMethodAccessor53.invoke() line:() line:-1
>> sun.reflect.DelegatingMethodAccessorImpl.invoke() line:() line:25
>> java.lang.reflect.Method.invoke() line:() line:585
>> freemarker.ext.beans.BeansWrapper.invokeMethod() line:() line:840
>> freemarker.ext.beans.OverloadedMethodModel.exec() line:() line:104
>> freemarker.core.MethodCall._getAsTemplateModel() line:() line:93
>> freemarker.core.Expression.getAsTemplateModel() line:() line:89
>> freemarker.core.Expression.getStringValue() line:() line:93
>> freemarker.core.DollarVariable.accept() line:() line:76
>> freemarker.core.Environment.visit() line:() line:209
>> freemarker.core.MixedContent.accept() line:() line:92
>> freemarker.core.Environment.visit() line:() line:209
>> freemarker.core.Environment.process() line:() line:189
>> freemarker.template.Template.process() line:() line:237
>> org.ofbiz.base.util.template.FreeMarkerWorker.renderTemplateAtLocation()
>> line:() line:181
>> org.ofbiz.widget.screen.HtmlWidget.renderHtmlTemplate() line:() line:85
>> org.ofbiz.widget.screen.HtmlWidget$HtmlTemplateDecorator.renderWidgetString()
>> line:() line:163
>> org.ofbiz.widget.screen.HtmlWidget.renderWidgetString() line:() line:68
>> org.ofbiz.widget.screen.ModelScreenWidget$PlatformSpecific.renderWidgetString()
>> line:() line:809
>> org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString() line:()
>> line:154
>> org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString()
>> line:() line:247
>> org.ofbiz.widget.screen.ModelScreen.renderScreenString() line:() line:138
>> org.ofbiz.widget.screen.ModelScreenWidget$DecoratorScreen.renderWidgetString()
>> line:() line:492
>> org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString() line:()
>> line:154
>> org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString()
>> line:() line:247
>> org.ofbiz.widget.screen.ModelScreen.renderScreenString() line:() line:138
>> org.ofbiz.widget.screen.ScreenRenderer.render() line:() line:108
>> org.ofbiz.widget.screen.ScreenRenderer.render() line:() line:93
>> org.ofbiz.widget.screen.ScreenWidgetViewHandler.render() line:() line:81
>> org.ofbiz.webapp.control.RequestHandler.renderView() line:() line:680
>> org.ofbiz.webapp.control.RequestHandler.doRequest() line:() line:437
>> org.ofbiz.webapp.control.ControlServlet.doGet() line:() line:192
>> javax.servlet.http.HttpServlet.service() line:() line:595
>> javax.servlet.http.HttpServlet.service() line:() line:688
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter() line:()
>> line:252
>> org.apache.catalina.core.ApplicationFilterChain.doFilter() line:() line:173
>> org.apache.catalina.core.ApplicationDispatcher.invoke() line:() line:672
>> org.apache.catalina.core.ApplicationDispatcher.processRequest() line:()
>> line:463
>> org.apache.catalina.core.ApplicationDispatcher.doForward() line:() line:398
>> org.apache.catalina.core.ApplicationDispatcher.forward() line:() line:301
>> com.folica.opentaps.actions.ecommerce.url.UserFriendlyUrlServlet.process()
>> line:() line:153
>> com.folica.opentaps.actions.ecommerce.url.UserFriendlyUrlServlet.doGet()
>> line:() line:76
>> javax.servlet.http.HttpServlet.service() line:() line:595
>> javax.servlet.http.HttpServlet.service() line:() line:688
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter() line:()
>> line:252
>> org.apache.catalina.core.ApplicationFilterChain.doFilter() line:() line:173
>> org.ofbiz.webapp.control.ContextFilter.doFilter() line:() line:251
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter() line:()
>> line:202
>> org.apache.catalina.core.ApplicationFilterChain.doFilter() line:() line:173
>> org.apache.catalina.core.StandardWrapperValve.invoke() line:() line:213
>> org.apache.catalina.core.StandardContextValve.invoke() line:() line:178
>> org.apache.catalina.core.StandardHostValve.invoke() line:() line:126
>> org.apache.catalina.valves.ErrorReportValve.invoke() line:() line:105
>> org.apache.catalina.core.StandardEngineValve.invoke() line:() line:107
>> org.apache.catalina.valves.AccessLogValve.invoke() line:() line:541
>> org.apache.catalina.connector.CoyoteAdapter.service() line:() line:148
>> org.apache.coyote.http11.Http11Processor.process() line:() line:869
>> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection()
>> line:() line:664
>> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket() line:() line:527
>> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt() line:()
>> line:80
>> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run() line:()
>> line:684
>
>

Reply | Threaded
Open this post in threaded view
|

Re: Database connection leak

Adam Heath-2
In reply to this post by eysman
eysman wrote:
> I've been trying to track down a leak somewhere in OFbiz, I'm hoping someone
> can give me a little help.

What version of ofbiz?  trunk, a release branch, something older?

> Basically, when multiple connections are made concurrently, one tends to
> remain open. The leak is slow and subtle, but it's definetly there. At first
> I thought it may be due to unclosed session objects, but as I started
> digging more, it appears to be something with the ofbiz SQL code.
>
> I set up ro.kifs ConnLeakFinder to track the connections, below is an
> example of one stack trace. Can anyone help track down the issue?
>
> ro.kifs.diagnostic.Connection.whoCalledMe() line:() line:62
> ro.kifs.diagnostic.Connection.registerOpenedConnection() line:() line:27
> ro.kifs.diagnostic.Connection.() line:() line:80
> org.ofbiz.entity.jdbc.ConnectionFactory.getConnection() line:() line:81
> org.ofbiz.entity.jdbc.SQLProcessor.getConnection() line:() line:262
> org.ofbiz.entity.jdbc.SQLProcessor.prepareStatement() line:() line:368
> org.ofbiz.entity.jdbc.SQLProcessor.prepareStatement() line:()
> line:352[code]ro.kifs.diagnostic.Connection.whoCalledMe() line:() line:62
> ro.kifs.diagnostic.Connection.registerOpenedConnection() line:() line:27
> ro.kifs.diagnostic.Connection.() line:() line:80
> org.ofbiz.entity.jdbc.ConnectionFactory.getConnection() line:() line:81
> org.ofbiz.entity.jdbc.SQLProcessor.getConnection() line:() line:262
> org.ofbiz.entity.jdbc.SQLProcessor.prepareStatement() line:() line:368
> org.ofbiz.entity.jdbc.SQLProcessor.prepareStatement() line:() line:352
> org.ofbiz.entity.datasource.GenericDAO.select() line:() line:528
> org.ofbiz.entity.datasource.GenericDAO.select() line:() line:499
> org.ofbiz.entity.datasource.GenericHelperDAO.findByPrimaryKey() line:()
> line:83
> org.ofbiz.entity.GenericDelegator.findByPrimaryKey() line:() line:1250
> org.ofbiz.entity.GenericDelegator.findByPrimaryKeyCache() line:() line:1289
> org.ofbiz.entity.GenericDelegator.findByPrimaryKeyCache() line:() line:1315
> org.ofbiz.entity.GenericDelegator.getRelatedOneCache() line:() line:2129
> org.ofbiz.entity.GenericValue.getRelatedOneCache() line:() line:315
> org.ofbiz.product.category.CategoryWorker.getRelatedCategoriesRet() line:()
> line:192
> org.ofbiz.product.category.CategoryWorker.getRelatedCategoriesRet() line:()
> line:160
> org.ofbiz.product.category.CategoryWorker.getRelatedCategories() line:()
> line:145
> org.ofbiz.product.category.CategoryWorker.getRelatedCategories() line:()
> line:141
> sun.reflect.GeneratedMethodAccessor75.invoke() line:() line:-1
> sun.reflect.DelegatingMethodAccessorImpl.invoke() line:() line:25
> java.lang.reflect.Method.invoke() line:() line:585
> bsh.Reflect.invokeMethod() line:() line:-1
> bsh.Reflect.invokeStaticMethod() line:() line:-1
> bsh.Name.invokeMethod() line:() line:-1
> bsh.BSHMethodInvocation.eval() line:() line:-1
> bsh.BSHPrimaryExpression.eval() line:() line:-1
> bsh.BSHPrimaryExpression.eval() line:() line:-1
> bsh.Interpreter.evalParsedScript() line:() line:-1
> bsh.Interpreter.evalParsedScript() line:() line:-1
> org.ofbiz.base.util.BshUtil.runBshAtLocation() line:() line:164
> org.ofbiz.widget.screen.ModelScreenAction$Script.runAction() line:()
> line:391
> org.ofbiz.widget.screen.ModelScreenAction.runSubActions() line:() line:121
> org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString()
> line:() line:240
> org.ofbiz.widget.screen.ModelScreen.renderScreenString() line:() line:138
> org.ofbiz.widget.screen.ScreenRenderer.render() line:() line:108
> org.ofbiz.widget.screen.ScreenRenderer.render() line:() line:93
> sun.reflect.GeneratedMethodAccessor53.invoke() line:() line:-1
> sun.reflect.DelegatingMethodAccessorImpl.invoke() line:() line:25
> java.lang.reflect.Method.invoke() line:() line:585
> freemarker.ext.beans.BeansWrapper.invokeMethod() line:() line:840
> freemarker.ext.beans.OverloadedMethodModel.exec() line:() line:104
> freemarker.core.MethodCall._getAsTemplateModel() line:() line:93
> freemarker.core.Expression.getAsTemplateModel() line:() line:89
> freemarker.core.Expression.getStringValue() line:() line:93
> freemarker.core.DollarVariable.accept() line:() line:76
> freemarker.core.Environment.visit() line:() line:209
> freemarker.core.MixedContent.accept() line:() line:92
> freemarker.core.Environment.visit() line:() line:209
> freemarker.core.Environment.process() line:() line:189
> freemarker.template.Template.process() line:() line:237
> org.ofbiz.base.util.template.FreeMarkerWorker.renderTemplateAtLocation()
> line:() line:181
> org.ofbiz.widget.screen.HtmlWidget.renderHtmlTemplate() line:() line:85
> org.ofbiz.widget.screen.HtmlWidget$HtmlTemplateDecorator.renderWidgetString()
> line:() line:163
> org.ofbiz.widget.screen.HtmlWidget.renderWidgetString() line:() line:68
> org.ofbiz.widget.screen.ModelScreenWidget$PlatformSpecific.renderWidgetString()
> line:() line:809
> org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString() line:()
> line:154
> org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString()
> line:() line:247
> org.ofbiz.widget.screen.ModelScreen.renderScreenString() line:() line:138
> org.ofbiz.widget.screen.ModelScreenWidget$DecoratorScreen.renderWidgetString()
> line:() line:492
> org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString() line:()
> line:154
> org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString()
> line:() line:247
> org.ofbiz.widget.screen.ModelScreen.renderScreenString() line:() line:138
> org.ofbiz.widget.screen.ScreenRenderer.render() line:() line:108
> org.ofbiz.widget.screen.ScreenRenderer.render() line:() line:93
> org.ofbiz.widget.screen.ScreenWidgetViewHandler.render() line:() line:81
> org.ofbiz.webapp.control.RequestHandler.renderView() line:() line:680
> org.ofbiz.webapp.control.RequestHandler.doRequest() line:() line:437
> org.ofbiz.webapp.control.ControlServlet.doGet() line:() line:192
> javax.servlet.http.HttpServlet.service() line:() line:595
> javax.servlet.http.HttpServlet.service() line:() line:688
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter() line:()
> line:252
> org.apache.catalina.core.ApplicationFilterChain.doFilter() line:() line:173
> org.apache.catalina.core.ApplicationDispatcher.invoke() line:() line:672
> org.apache.catalina.core.ApplicationDispatcher.processRequest() line:()
> line:463
> org.apache.catalina.core.ApplicationDispatcher.doForward() line:() line:398
> org.apache.catalina.core.ApplicationDispatcher.forward() line:() line:301
> com.folica.opentaps.actions.ecommerce.url.UserFriendlyUrlServlet.process()
> line:() line:153
> com.folica.opentaps.actions.ecommerce.url.UserFriendlyUrlServlet.doGet()
> line:() line:76
> javax.servlet.http.HttpServlet.service() line:() line:595
> javax.servlet.http.HttpServlet.service() line:() line:688
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter() line:()
> line:252
> org.apache.catalina.core.ApplicationFilterChain.doFilter() line:() line:173
> org.ofbiz.webapp.control.ContextFilter.doFilter() line:() line:251
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter() line:()
> line:202
> org.apache.catalina.core.ApplicationFilterChain.doFilter() line:() line:173
> org.apache.catalina.core.StandardWrapperValve.invoke() line:() line:213
> org.apache.catalina.core.StandardContextValve.invoke() line:() line:178
> org.apache.catalina.core.StandardHostValve.invoke() line:() line:126
> org.apache.catalina.valves.ErrorReportValve.invoke() line:() line:105
> org.apache.catalina.core.StandardEngineValve.invoke() line:() line:107
> org.apache.catalina.valves.AccessLogValve.invoke() line:() line:541
> org.apache.catalina.connector.CoyoteAdapter.service() line:() line:148
> org.apache.coyote.http11.Http11Processor.process() line:() line:869
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection()
> line:() line:664
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket() line:() line:527
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt() line:()
> line:80
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run() line:()
> line:684

Reply | Threaded
Open this post in threaded view
|

Re: Database connection leak

BJ Freeman
In reply to this post by BJ Freeman
things must have changed when I was discussing things like this I was
reffed to the user mailing list, few years back.
if it is a version problem like 3.0 or 4.0 not sure it is a ofbiz
development, but an upgrade to current version.


=========================
BJ Freeman
http://bjfreeman.elance.com
Strategic Power Office with Supplier Automation <http://www.businessesnetwork.com/automation/viewforum.php?f=93>
Specialtymarket.com <http://www.specialtymarket.com/>

Systems Integrator-- Glad to Assist

Chat  Y! messenger: bjfr33man
Linkedin
<http://www.linkedin.com/profile?viewProfile=&key=1237480&locale=en_US&trk=tab_pro>


David E Jones sent the following on 3/25/2010 9:28 AM:

> This seems to be talking about an issue with OFBiz itself and so is about development of OFBiz. The dev list is the place for it.
>
> -David
>
>
> On Mar 25, 2010, at 10:18 AM, BJ Freeman wrote:
>
>> what version of ofbiz are you using?
>> please use the user mailing list for this.
>>
>>
>> =========================
>> BJ Freeman
>> http://bjfreeman.elance.com
>> Strategic Power Office with Supplier Automation <http://www.businessesnetwork.com/automation/viewforum.php?f=93>
>> Specialtymarket.com <http://www.specialtymarket.com/>
>>
>> Systems Integrator-- Glad to Assist
>>
>> Chat  Y! messenger: bjfr33man
>> Linkedin
>> <http://www.linkedin.com/profile?viewProfile=&key=1237480&locale=en_US&trk=tab_pro>
>>
>>
>> eysman sent the following on 3/25/2010 8:58 AM:
>>> I've been trying to track down a leak somewhere in OFbiz, I'm hoping someone
>>> can give me a little help.
>>>
>>> Basically, when multiple connections are made concurrently, one tends to
>>> remain open. The leak is slow and subtle, but it's definetly there. At first
>>> I thought it may be due to unclosed session objects, but as I started
>>> digging more, it appears to be something with the ofbiz SQL code.
>>>
>>> I set up ro.kifs ConnLeakFinder to track the connections, below is an
>>> example of one stack trace. Can anyone help track down the issue?
>>>
>>> ro.kifs.diagnostic.Connection.whoCalledMe() line:() line:62
>>> ro.kifs.diagnostic.Connection.registerOpenedConnection() line:() line:27
>>> ro.kifs.diagnostic.Connection.() line:() line:80
>>> org.ofbiz.entity.jdbc.ConnectionFactory.getConnection() line:() line:81
>>> org.ofbiz.entity.jdbc.SQLProcessor.getConnection() line:() line:262
>>> org.ofbiz.entity.jdbc.SQLProcessor.prepareStatement() line:() line:368
>>> org.ofbiz.entity.jdbc.SQLProcessor.prepareStatement() line:()
>>> line:352[code]ro.kifs.diagnostic.Connection.whoCalledMe() line:() line:62
>>> ro.kifs.diagnostic.Connection.registerOpenedConnection() line:() line:27
>>> ro.kifs.diagnostic.Connection.() line:() line:80
>>> org.ofbiz.entity.jdbc.ConnectionFactory.getConnection() line:() line:81
>>> org.ofbiz.entity.jdbc.SQLProcessor.getConnection() line:() line:262
>>> org.ofbiz.entity.jdbc.SQLProcessor.prepareStatement() line:() line:368
>>> org.ofbiz.entity.jdbc.SQLProcessor.prepareStatement() line:() line:352
>>> org.ofbiz.entity.datasource.GenericDAO.select() line:() line:528
>>> org.ofbiz.entity.datasource.GenericDAO.select() line:() line:499
>>> org.ofbiz.entity.datasource.GenericHelperDAO.findByPrimaryKey() line:()
>>> line:83
>>> org.ofbiz.entity.GenericDelegator.findByPrimaryKey() line:() line:1250
>>> org.ofbiz.entity.GenericDelegator.findByPrimaryKeyCache() line:() line:1289
>>> org.ofbiz.entity.GenericDelegator.findByPrimaryKeyCache() line:() line:1315
>>> org.ofbiz.entity.GenericDelegator.getRelatedOneCache() line:() line:2129
>>> org.ofbiz.entity.GenericValue.getRelatedOneCache() line:() line:315
>>> org.ofbiz.product.category.CategoryWorker.getRelatedCategoriesRet() line:()
>>> line:192
>>> org.ofbiz.product.category.CategoryWorker.getRelatedCategoriesRet() line:()
>>> line:160
>>> org.ofbiz.product.category.CategoryWorker.getRelatedCategories() line:()
>>> line:145
>>> org.ofbiz.product.category.CategoryWorker.getRelatedCategories() line:()
>>> line:141
>>> sun.reflect.GeneratedMethodAccessor75.invoke() line:() line:-1
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke() line:() line:25
>>> java.lang.reflect.Method.invoke() line:() line:585
>>> bsh.Reflect.invokeMethod() line:() line:-1
>>> bsh.Reflect.invokeStaticMethod() line:() line:-1
>>> bsh.Name.invokeMethod() line:() line:-1
>>> bsh.BSHMethodInvocation.eval() line:() line:-1
>>> bsh.BSHPrimaryExpression.eval() line:() line:-1
>>> bsh.BSHPrimaryExpression.eval() line:() line:-1
>>> bsh.Interpreter.evalParsedScript() line:() line:-1
>>> bsh.Interpreter.evalParsedScript() line:() line:-1
>>> org.ofbiz.base.util.BshUtil.runBshAtLocation() line:() line:164
>>> org.ofbiz.widget.screen.ModelScreenAction$Script.runAction() line:()
>>> line:391
>>> org.ofbiz.widget.screen.ModelScreenAction.runSubActions() line:() line:121
>>> org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString()
>>> line:() line:240
>>> org.ofbiz.widget.screen.ModelScreen.renderScreenString() line:() line:138
>>> org.ofbiz.widget.screen.ScreenRenderer.render() line:() line:108
>>> org.ofbiz.widget.screen.ScreenRenderer.render() line:() line:93
>>> sun.reflect.GeneratedMethodAccessor53.invoke() line:() line:-1
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke() line:() line:25
>>> java.lang.reflect.Method.invoke() line:() line:585
>>> freemarker.ext.beans.BeansWrapper.invokeMethod() line:() line:840
>>> freemarker.ext.beans.OverloadedMethodModel.exec() line:() line:104
>>> freemarker.core.MethodCall._getAsTemplateModel() line:() line:93
>>> freemarker.core.Expression.getAsTemplateModel() line:() line:89
>>> freemarker.core.Expression.getStringValue() line:() line:93
>>> freemarker.core.DollarVariable.accept() line:() line:76
>>> freemarker.core.Environment.visit() line:() line:209
>>> freemarker.core.MixedContent.accept() line:() line:92
>>> freemarker.core.Environment.visit() line:() line:209
>>> freemarker.core.Environment.process() line:() line:189
>>> freemarker.template.Template.process() line:() line:237
>>> org.ofbiz.base.util.template.FreeMarkerWorker.renderTemplateAtLocation()
>>> line:() line:181
>>> org.ofbiz.widget.screen.HtmlWidget.renderHtmlTemplate() line:() line:85
>>> org.ofbiz.widget.screen.HtmlWidget$HtmlTemplateDecorator.renderWidgetString()
>>> line:() line:163
>>> org.ofbiz.widget.screen.HtmlWidget.renderWidgetString() line:() line:68
>>> org.ofbiz.widget.screen.ModelScreenWidget$PlatformSpecific.renderWidgetString()
>>> line:() line:809
>>> org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString() line:()
>>> line:154
>>> org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString()
>>> line:() line:247
>>> org.ofbiz.widget.screen.ModelScreen.renderScreenString() line:() line:138
>>> org.ofbiz.widget.screen.ModelScreenWidget$DecoratorScreen.renderWidgetString()
>>> line:() line:492
>>> org.ofbiz.widget.screen.ModelScreenWidget.renderSubWidgetsString() line:()
>>> line:154
>>> org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString()
>>> line:() line:247
>>> org.ofbiz.widget.screen.ModelScreen.renderScreenString() line:() line:138
>>> org.ofbiz.widget.screen.ScreenRenderer.render() line:() line:108
>>> org.ofbiz.widget.screen.ScreenRenderer.render() line:() line:93
>>> org.ofbiz.widget.screen.ScreenWidgetViewHandler.render() line:() line:81
>>> org.ofbiz.webapp.control.RequestHandler.renderView() line:() line:680
>>> org.ofbiz.webapp.control.RequestHandler.doRequest() line:() line:437
>>> org.ofbiz.webapp.control.ControlServlet.doGet() line:() line:192
>>> javax.servlet.http.HttpServlet.service() line:() line:595
>>> javax.servlet.http.HttpServlet.service() line:() line:688
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter() line:()
>>> line:252
>>> org.apache.catalina.core.ApplicationFilterChain.doFilter() line:() line:173
>>> org.apache.catalina.core.ApplicationDispatcher.invoke() line:() line:672
>>> org.apache.catalina.core.ApplicationDispatcher.processRequest() line:()
>>> line:463
>>> org.apache.catalina.core.ApplicationDispatcher.doForward() line:() line:398
>>> org.apache.catalina.core.ApplicationDispatcher.forward() line:() line:301
>>> com.folica.opentaps.actions.ecommerce.url.UserFriendlyUrlServlet.process()
>>> line:() line:153
>>> com.folica.opentaps.actions.ecommerce.url.UserFriendlyUrlServlet.doGet()
>>> line:() line:76
>>> javax.servlet.http.HttpServlet.service() line:() line:595
>>> javax.servlet.http.HttpServlet.service() line:() line:688
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter() line:()
>>> line:252
>>> org.apache.catalina.core.ApplicationFilterChain.doFilter() line:() line:173
>>> org.ofbiz.webapp.control.ContextFilter.doFilter() line:() line:251
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter() line:()
>>> line:202
>>> org.apache.catalina.core.ApplicationFilterChain.doFilter() line:() line:173
>>> org.apache.catalina.core.StandardWrapperValve.invoke() line:() line:213
>>> org.apache.catalina.core.StandardContextValve.invoke() line:() line:178
>>> org.apache.catalina.core.StandardHostValve.invoke() line:() line:126
>>> org.apache.catalina.valves.ErrorReportValve.invoke() line:() line:105
>>> org.apache.catalina.core.StandardEngineValve.invoke() line:() line:107
>>> org.apache.catalina.valves.AccessLogValve.invoke() line:() line:541
>>> org.apache.catalina.connector.CoyoteAdapter.service() line:() line:148
>>> org.apache.coyote.http11.Http11Processor.process() line:() line:869
>>> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection()
>>> line:() line:664
>>> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket() line:() line:527
>>> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt() line:()
>>> line:80
>>> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run() line:()
>>> line:684
>>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Database connection leak

eysman
In reply to this post by Adam Heath-2
I believe it's version 4.0. We are actually using Opentaps, which is an extension of Ofbiz, instead of Ofbiz directly. However, the problem code seems to be OFbiz, not opentaps.
Reply | Threaded
Open this post in threaded view
|

Re: Database connection leak

BJ Freeman
In reply to this post by Adam Heath-2
There was a change in the pool implementation since 4.0
I would suggest you move up to 9.04 or implement the change since 4.0.
this is the commit
http://svn.apache.org/viewvc?view=revision&revision=818123
and some others that Adam did a couple of days ago


=========================
BJ Freeman
http://bjfreeman.elance.com
Strategic Power Office with Supplier Automation <http://www.businessesnetwork.com/automation/viewforum.php?f=93>
Specialtymarket.com <http://www.specialtymarket.com/>

Systems Integrator-- Glad to Assist

Chat  Y! messenger: bjfr33man
Linkedin
<http://www.linkedin.com/profile?viewProfile=&key=1237480&locale=en_US&trk=tab_pro>


eysman sent the following on 3/25/2010 10:13 AM:
> I believe it's version 4.0. We are actually using Opentaps, which is an
> extension of Ofbiz, instead of Ofbiz directly. However, the problem code
> seems to be OFbiz, not opentaps.


Reply | Threaded
Open this post in threaded view
|

Re: Database connection leak

David E. Jones-2

You're right BJ, the connection pool that was the default in 4.0 (Minerva) is most likely the problem. That has been a known issue for a long time (and one of the reasons 4.0 isn't generally recommended unless you use something other than the default deployment).

-David


On Mar 25, 2010, at 11:40 AM, BJ Freeman wrote:

> There was a change in the pool implementation since 4.0
> I would suggest you move up to 9.04 or implement the change since 4.0.
> this is the commit
> http://svn.apache.org/viewvc?view=revision&revision=818123
> and some others that Adam did a couple of days ago
>
>
> =========================
> BJ Freeman
> http://bjfreeman.elance.com
> Strategic Power Office with Supplier Automation <http://www.businessesnetwork.com/automation/viewforum.php?f=93>
> Specialtymarket.com <http://www.specialtymarket.com/>
>
> Systems Integrator-- Glad to Assist
>
> Chat  Y! messenger: bjfr33man
> Linkedin
> <http://www.linkedin.com/profile?viewProfile=&key=1237480&locale=en_US&trk=tab_pro>
>
>
> eysman sent the following on 3/25/2010 10:13 AM:
>> I believe it's version 4.0. We are actually using Opentaps, which is an
>> extension of Ofbiz, instead of Ofbiz directly. However, the problem code
>> seems to be OFbiz, not opentaps.
>
>

Reply | Threaded
Open this post in threaded view
|

Re: Database connection leak

Wickersheimer Jeremy
In reply to this post by BJ Freeman
If you are in a recent (anything since the 1.4 previews) opentaps version we are based on
09.04, not 4.0 anymore.

--
Wickersheimer Jeremy
On Friday 26 March 2010 01:40:12 BJ Freeman wrote:

> There was a change in the pool implementation since 4.0
> I would suggest you move up to 9.04 or implement the change since 4.0.
> this is the commit
> http://svn.apache.org/viewvc?view=revision&revision=818123
> and some others that Adam did a couple of days ago
>
>
> =========================
> BJ Freeman
> http://bjfreeman.elance.com
> Strategic Power Office with Supplier Automation
> <http://www.businessesnetwork.com/automation/viewforum.php?f=93>
> Specialtymarket.com <http://www.specialtymarket.com/>
>
> Systems Integrator-- Glad to Assist
>
> Chat  Y! messenger: bjfr33man
> Linkedin
> <http://www.linkedin.com/profile?viewProfile=&key=1237480&locale=en_US&trk=
> tab_pro>
>
> eysman sent the following on 3/25/2010 10:13 AM:
> > I believe it's version 4.0. We are actually using Opentaps, which is an
> > extension of Ofbiz, instead of Ofbiz directly. However, the problem code
> > seems to be OFbiz, not opentaps.
Reply | Threaded
Open this post in threaded view
|

Re: Database connection leak

BJ Freeman
In reply to this post by Adam Heath-2
correct commit
http://svn.apache.org/viewvc?view=revision&revision=575396

=========================
BJ Freeman
http://bjfreeman.elance.com
Strategic Power Office with Supplier Automation <http://www.businessesnetwork.com/automation/viewforum.php?f=93>
Specialtymarket.com <http://www.specialtymarket.com/>

Systems Integrator-- Glad to Assist

Chat  Y! messenger: bjfr33man
Linkedin
<http://www.linkedin.com/profile?viewProfile=&key=1237480&locale=en_US&trk=tab_pro>


BJ Freeman sent the following on 3/25/2010 10:40 AM:

> There was a change in the pool implementation since 4.0
> I would suggest you move up to 9.04 or implement the change since 4.0.
> this is the commit
> http://svn.apache.org/viewvc?view=revision&revision=818123
> and some others that Adam did a couple of days ago
>
>
> =========================
> BJ Freeman
> http://bjfreeman.elance.com
> Strategic Power Office with Supplier Automation <http://www.businessesnetwork.com/automation/viewforum.php?f=93>
> Specialtymarket.com <http://www.specialtymarket.com/>
>
> Systems Integrator-- Glad to Assist
>
> Chat  Y! messenger: bjfr33man
> Linkedin
> <http://www.linkedin.com/profile?viewProfile=&key=1237480&locale=en_US&trk=tab_pro>
>
>
> eysman sent the following on 3/25/2010 10:13 AM:
>> I believe it's version 4.0. We are actually using Opentaps, which is an
>> extension of Ofbiz, instead of Ofbiz directly. However, the problem code
>> seems to be OFbiz, not opentaps.
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Database connection leak

eysman
In reply to this post by Wickersheimer Jeremy
We are actually currently on the 1.4 preview. We're planning to upgrade to 1.4 soon, but in the meantime we need to take care of this issue. I will try to patch with the commit BJ provided, if that doesn't work we may just have to do a full upgrade to 1.4.

Thanks.
Reply | Threaded
Open this post in threaded view
|

Re: Database connection leak

BJ Freeman
In reply to this post by BJ Freeman
just so I am not confused what  do you mean by
default deployment

=========================
BJ Freeman
http://bjfreeman.elance.com
Strategic Power Office with Supplier Automation <http://www.businessesnetwork.com/automation/viewforum.php?f=93>
Specialtymarket.com <http://www.specialtymarket.com/>

Systems Integrator-- Glad to Assist

Chat  Y! messenger: bjfr33man
Linkedin
<http://www.linkedin.com/profile?viewProfile=&key=1237480&locale=en_US&trk=tab_pro>


David E Jones sent the following on 3/25/2010 10:42 AM:

> You're right BJ, the connection pool that was the default in 4.0 (Minerva) is most likely the problem. That has been a known issue for a long time (and one of the reasons 4.0 isn't generally recommended unless you use something other than the default deployment).
>
> -David
>
>
> On Mar 25, 2010, at 11:40 AM, BJ Freeman wrote:
>
>> There was a change in the pool implementation since 4.0
>> I would suggest you move up to 9.04 or implement the change since 4.0.
>> this is the commit
>> http://svn.apache.org/viewvc?view=revision&revision=818123
>> and some others that Adam did a couple of days ago
>>
>>
>> =========================
>> BJ Freeman
>> http://bjfreeman.elance.com
>> Strategic Power Office with Supplier Automation <http://www.businessesnetwork.com/automation/viewforum.php?f=93>
>> Specialtymarket.com <http://www.specialtymarket.com/>
>>
>> Systems Integrator-- Glad to Assist
>>
>> Chat  Y! messenger: bjfr33man
>> Linkedin
>> <http://www.linkedin.com/profile?viewProfile=&key=1237480&locale=en_US&trk=tab_pro>
>>
>>
>> eysman sent the following on 3/25/2010 10:13 AM:
>>> I believe it's version 4.0. We are actually using Opentaps, which is an
>>> extension of Ofbiz, instead of Ofbiz directly. However, the problem code
>>> seems to be OFbiz, not opentaps.
>>
>
>