|
|
|
ic
|
Hi,
I think MySQL driver & pooling do not work (or I don't know how to configure them). Symptoms are: Grails app throws exception after approx rapid fire 1000 requests. There are few thousands TIME_WAIT lines in netstat This is using grails RC4 Exception and datasource are below. App is running in development mode. I tried both pooling=true & pooled=true. Please advise... Is this a known bug? Is there an issue with pooling & MySQL? Am I doing something wrong? Is pooling implemented? And... Should I switch databases? Can I help fix it? Is there a way to report on pooling (enabled/disabled) on app-run? Thanks, Ivan *************** Here is exception: [113469] errors.GrailsExceptionResolver org.springframework.dao.DataAccessResourceFailureException: Cannot open connection; nested exception is org. ception.JDBCConnectionException: Cannot open connection org.codehaus.groovy.runtime.InvokerInvocationException: org.springframework.dao.DataAccessResourceFailureException: Cannot open connection; nested e org.hibernate.exception.JDBCConnectionException: Cannot open connection at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101) Caused by: org.springframework.dao.DataAccessResourceFailureException: Cannot open connection; nested exception is org.hibernate.exception.JDBCConne on: Cannot open connection at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:95) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:95) at MutualfundsController$_closure14.doCall(MutualfundsController.groovy:41) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:95) at MutualfundsController$_closure14.doCall(MutualfundsController.groovy) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:95) Caused by: org.hibernate.exception.JDBCConnectionException: Cannot open connection ... 6 more Caused by: com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception: ** BEGIN NESTED EXCEPTION ** java.net.SocketException MESSAGE: java.net.BindException: Address already in use: connect STACKTRACE: java.net.SocketException: java.net.BindException: Address already in use: connect at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:156) at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:276) at com.mysql.jdbc.Connection.createNewIO(Connection.java:2666) at com.mysql.jdbc.Connection.<init>(Connection.java:1531) at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266) at java.sql.DriverManager.getConnection(DriverManager.java:582) at java.sql.DriverManager.getConnection(DriverManager.java:154) at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager(DriverManagerDataSource.java:283) at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager(DriverManagerDataSource.java:271) at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager(DriverManagerDataSource.java:255) at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:236) at org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider.getConnection(LocalDataSourceConnectionProvider.java:82) at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:423) at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:144) at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:139) at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1547) at org.hibernate.loader.Loader.doQuery(Loader.java:673) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236) at org.hibernate.loader.Loader.doList(Loader.java:2220) at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104) at org.hibernate.loader.Loader.list(Loader.java:2099) at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:378) at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338) at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172) at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121) at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79) at org.codehaus.groovy.grails.orm.hibernate.metaclass.FindPersistentMethod$1.doInHibernate(FindPersistentMethod.java:133) at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:373) at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:338) at org.codehaus.groovy.grails.orm.hibernate.metaclass.FindPersistentMethod.doInvokeInternal(FindPersistentMethod.java:85) at org.codehaus.groovy.grails.orm.hibernate.metaclass.AbstractStaticPersistentMethod.invoke(AbstractStaticPersistentMethod.java:55) at sun.reflect.GeneratedMethodAccessor230.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:95) at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:599) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:904) at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:947) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:740) at org.codehaus.groovy.runtime.InvokerHelper.invokePojoMethod(InvokerHelper.java:753) at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:741) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:167) at org.codehaus.groovy.grails.plugins.orm.hibernate.HibernateGrailsPlugin$_addQueryMethods_closure50.doCall(HibernateGrailsPlugin.groovy:480 at sun.reflect.GeneratedMethodAccessor240.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:95) at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:599) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:904) at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:947) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:740) at groovy.lang.Closure.call(Closure.java:292) at org.codehaus.groovy.runtime.metaclass.ClosureStaticMetaMethod.invoke(ClosureStaticMetaMethod.java:55) at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:599) at groovy.lang.MetaClassImpl.invokeStaticMethod(MetaClassImpl.java:1077) at groovy.lang.ExpandoMetaClass.invokeStaticMethod(ExpandoMetaClass.java:958) at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:736) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:167) at MutualfundsController$_closure14.doCall(MutualfundsController.groovy:41) at sun.reflect.GeneratedMethodAccessor263.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:95) at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:599) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:904) at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:947) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:77) at MutualfundsController$_closure14.doCall(MutualfundsController.groovy) at sun.reflect.GeneratedMethodAccessor262.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:95) at org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:599) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:904) at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:947) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:740) at groovy.lang.Closure.call(Closure.java:292) at groovy.lang.Closure.call(Closure.java:287) at org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.handleAction(SimpleGrailsControllerHelper.java:522) at org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.executeAction(SimpleGrailsControllerHelper.java:395) at org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.handleURI(SimpleGrailsControllerHelper.java:236) at org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.handleURI(SimpleGrailsControllerHelper.java:152) at org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsController.handleRequest(SimpleGrailsController.java:88) at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48) at org.codehaus.groovy.grails.web.servlet.GrailsDispatcherServlet.doDispatch(GrailsDispatcherServlet.java:239) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:476) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:431) at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:367) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405) at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:268) at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126) at org.codehaus.groovy.grails.web.util.WebUtils.forwardRequestForUrlMappingInfo(WebUtils.java:194) at org.codehaus.groovy.grails.web.util.WebUtils.forwardRequestForUrlMappingInfo(WebUtils.java:181) at org.codehaus.groovy.grails.web.mapping.filter.UrlMappingsFilter.doFilterInternal(UrlMappingsFilter.java:116) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1089) at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:119) at org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.doFilter(GrailsPageFilter.java:75) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1089) at org.codehaus.groovy.grails.web.servlet.filter.GrailsReloadServletFilter.doFilterInternal(GrailsReloadServletFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1089) at org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:68) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1089) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:183) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:138) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1089) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:365) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139) at org.mortbay.jetty.Server.handle(Server.java:295) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:503) at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:827) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:511) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:210) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:379) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:361) at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442) ** END NESTED EXCEPTION ** Here is my datasource: dataSource { boolean pooled = true boolean pooling = true driverClassName = "org.hsqldb.jdbcDriver" username = "sa" password = "" } hibernate { cache.use_second_level_cache=true cache.use_query_cache=true cache.provider_class='org.hibernate.cache.EhCacheProvider' } // environment specific settings environments { development { dataSource { boolean pooled = true boolean pooling = true dbCreate = "update" // one of 'create', 'create-drop','update' //url = "jdbc:hsqldb:mem:devDB" url = "jdbc:mysql://localhost:3306/curofin" driverClassName ="com.mysql.jdbc.Driver" username = "root" } } test { dataSource { dbCreate = "update" url = "jdbc:hsqldb:mem:testDb" } } production { dataSource { dbCreate = "update" url = "jdbc:hsqldb:file:prodDb;shutdown=true" } } } |
||||||||||||||||||
|
Darryl Pentz
|
In reply to this post
by ic
Ivan,
Just double-check whether your DataSource.groovy uses the term 'pooling' or 'pooled'. You'll find posts in this forum that indicates there was an error in the initial documentation that is still causing some people problems who aren't aware of the error. Here it is from the horses mouth: :) http://www.nabble.com/Too-many-sockets-open-to-database-to15127113.html#a15145556 The correct term to use is 'pooled'. - Darryl
|
||||||||||||||||||
|
ic
|
Thanks for responding, I looked at that post, and I tried to add both:
boolean pooled = true boolean pooling = true My assumption was that if I add both at least one will take effect, but to no avail - I still don't get pooling to work correctly. Ivan Here is datasource file: dataSource { boolean pooled = true boolean pooling = true driverClassName = "org.hsqldb.jdbcDriver" username = "sa" password = "" } hibernate { cache.use_second_level_cache=true cache.use_query_cache=true cache.provider_class='org.hibernate.cache.EhCacheProvider' } // environment specific settings environments { development { dataSource { boolean pooled = true boolean pooling = true dbCreate = "update" // one of 'create', 'create-drop','update' //url = "jdbc:hsqldb:mem:devDB" url = "jdbc:mysql://localhost:3306/curofin" driverClassName ="com.mysql.jdbc.Driver" username = "root" } } test { dataSource { dbCreate = "update" url = "jdbc:hsqldb:mem:testDb" } } production { dataSource { dbCreate = "update" url = "jdbc:hsqldb:file:prodDb;shutdown=true" } } }
|
||||||||||||||||||
|
Graeme Rocher
|
In reply to this post
by ic
To me this problem doesn't seem related to pooling are you sure your
db is even running Cheers On Jan 31, 2008 4:23 AM, ic <[hidden email]> wrote: > > Hi, > > I think MySQL driver & pooling do not work (or I don't know how to configure > them). > > Symptoms are: > Grails app throws exception after approx rapid fire 1000 requests. > There are few thousands TIME_WAIT lines in netstat > This is using grails RC4 > Exception and datasource are below. > App is running in development mode. > I tried both pooling=true & pooled=true. > > Please advise... > Is this a known bug? > Is there an issue with pooling & MySQL? > Am I doing something wrong? > Is pooling implemented? > > And... > Should I switch databases? > Can I help fix it? > Is there a way to report on pooling (enabled/disabled) on app-run? > > > Thanks, > Ivan > > *************** > > Here is exception: > [113469] errors.GrailsExceptionResolver > org.springframework.dao.DataAccessResourceFailureException: Cannot open > connection; nested exception is org. > ception.JDBCConnectionException: Cannot open connection > org.codehaus.groovy.runtime.InvokerInvocationException: > org.springframework.dao.DataAccessResourceFailureException: Cannot open > connection; nested e > org.hibernate.exception.JDBCConnectionException: Cannot open connection > at > org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101) > Caused by: org.springframework.dao.DataAccessResourceFailureException: > Cannot open connection; nested exception is > org.hibernate.exception.JDBCConne > on: Cannot open connection > at > org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:95) > at > org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:95) > at > MutualfundsController$_closure14.doCall(MutualfundsController.groovy:41) > at > org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:95) > at > MutualfundsController$_closure14.doCall(MutualfundsController.groovy) > at > org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:95) > Caused by: org.hibernate.exception.JDBCConnectionException: Cannot open > connection > ... 6 more > Caused by: com.mysql.jdbc.CommunicationsException: Communications link > failure due to underlying exception: > > ** BEGIN NESTED EXCEPTION ** > > java.net.SocketException > MESSAGE: java.net.BindException: Address already in use: connect > > STACKTRACE: > > java.net.SocketException: java.net.BindException: Address already in use: > connect > at > com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:156) > at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:276) > at com.mysql.jdbc.Connection.createNewIO(Connection.java:2666) > at com.mysql.jdbc.Connection.<init>(Connection.java:1531) > at > com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266) > at java.sql.DriverManager.getConnection(DriverManager.java:582) > at java.sql.DriverManager.getConnection(DriverManager.java:154) > at > org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager(DriverManagerDataSource.java:283) > at > org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager(DriverManagerDataSource.java:271) > at > org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager(DriverManagerDataSource.java:255) > at > org.springframework.jdbc.datasource.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:236) > at > org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider.getConnection(LocalDataSourceConnectionProvider.java:82) > at > org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:423) > at > org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:144) > at > org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:139) > at > org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1547) > at org.hibernate.loader.Loader.doQuery(Loader.java:673) > at > org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236) > at org.hibernate.loader.Loader.doList(Loader.java:2220) > at > org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104) > at org.hibernate.loader.Loader.list(Loader.java:2099) > at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:378) > at > org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338) > at > org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172) > at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121) > at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79) > at > org.codehaus.groovy.grails.orm.hibernate.metaclass.FindPersistentMethod$1.doInHibernate(FindPersistentMethod.java:133) > at > org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:373) > at > org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:338) > at > org.codehaus.groovy.grails.orm.hibernate.metaclass.FindPersistentMethod.doInvokeInternal(FindPersistentMethod.java:85) > at > org.codehaus.groovy.grails.orm.hibernate.metaclass.AbstractStaticPersistentMethod.invoke(AbstractStaticPersistentMethod.java:55) > at sun.reflect.GeneratedMethodAccessor230.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at > org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:95) > at > org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:599) > at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:904) > at > groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:947) > at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:740) > at > org.codehaus.groovy.runtime.InvokerHelper.invokePojoMethod(InvokerHelper.java:753) > at > org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:741) > at > org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:167) > at > org.codehaus.groovy.grails.plugins.orm.hibernate.HibernateGrailsPlugin$_addQueryMethods_closure50.doCall(HibernateGrailsPlugin.groovy:480 > at sun.reflect.GeneratedMethodAccessor240.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at > org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:95) > at > org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:599) > at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:904) > at > groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:947) > at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:740) > at groovy.lang.Closure.call(Closure.java:292) > at > org.codehaus.groovy.runtime.metaclass.ClosureStaticMetaMethod.invoke(ClosureStaticMetaMethod.java:55) > at > org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:599) > at > groovy.lang.MetaClassImpl.invokeStaticMethod(MetaClassImpl.java:1077) > at > groovy.lang.ExpandoMetaClass.invokeStaticMethod(ExpandoMetaClass.java:958) > at > org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:736) > at > org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodN(ScriptBytecodeAdapter.java:167) > at > MutualfundsController$_closure14.doCall(MutualfundsController.groovy:41) > at sun.reflect.GeneratedMethodAccessor263.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at > org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:95) > at > org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:599) > at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:904) > at > groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:947) > at > org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:77) > at > MutualfundsController$_closure14.doCall(MutualfundsController.groovy) > at sun.reflect.GeneratedMethodAccessor262.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at > org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:95) > at > org.codehaus.groovy.runtime.MetaClassHelper.doMethodInvoke(MetaClassHelper.java:599) > at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:904) > at > groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:947) > at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:740) > at groovy.lang.Closure.call(Closure.java:292) > at groovy.lang.Closure.call(Closure.java:287) > at > org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.handleAction(SimpleGrailsControllerHelper.java:522) > at > org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.executeAction(SimpleGrailsControllerHelper.java:395) > at > org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.handleURI(SimpleGrailsControllerHelper.java:236) > at > org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.handleURI(SimpleGrailsControllerHelper.java:152) > at > org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsController.handleRequest(SimpleGrailsController.java:88) > at > org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48) > at > org.codehaus.groovy.grails.web.servlet.GrailsDispatcherServlet.doDispatch(GrailsDispatcherServlet.java:239) > at > org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809) > at > org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:476) > at > org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:431) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) > at > org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487) > at > org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:367) > at > org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) > at > org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) > at > org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712) > at > org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405) > at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:268) > at org.mortbay.jetty.servlet.Dispatcher.forward(Dispatcher.java:126) > at > org.codehaus.groovy.grails.web.util.WebUtils.forwardRequestForUrlMappingInfo(WebUtils.java:194) > at > org.codehaus.groovy.grails.web.util.WebUtils.forwardRequestForUrlMappingInfo(WebUtils.java:181) > at > org.codehaus.groovy.grails.web.mapping.filter.UrlMappingsFilter.doFilterInternal(UrlMappingsFilter.java:116) > at > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1089) > at > com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:119) > at > org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.doFilter(GrailsPageFilter.java:75) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1089) > at > org.codehaus.groovy.grails.web.servlet.filter.GrailsReloadServletFilter.doFilterInternal(GrailsReloadServletFilter.java:100) > at > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1089) > at > org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:68) > at > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1089) > at > org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96) > at > org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75) > at > org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:183) > at > org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:138) > at > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1089) > at > org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:365) > at > org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) > at > org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) > at > org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712) > at > org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405) > at > org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139) > at org.mortbay.jetty.Server.handle(Server.java:295) > at > org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:503) > at > org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:827) > at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:511) > at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:210) > at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:379) > at > org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:361) > at > org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442) > > > ** END NESTED EXCEPTION ** > > Here is my datasource: > > dataSource { > boolean pooled = true > boolean pooling = true > driverClassName = "org.hsqldb.jdbcDriver" > username = "sa" > password = "" > } > hibernate { > cache.use_second_level_cache=true > cache.use_query_cache=true > cache.provider_class='org.hibernate.cache.EhCacheProvider' > } > // environment specific settings > environments { > development { > dataSource { > boolean pooled = true > boolean pooling = true > dbCreate = "update" // one of 'create', 'create-drop','update' > //url = "jdbc:hsqldb:mem:devDB" > url = "jdbc:mysql://localhost:3306/curofin" > driverClassName ="com.mysql.jdbc.Driver" > username = "root" > } > } > test { > dataSource { > dbCreate = "update" > url = "jdbc:hsqldb:mem:testDb" > } > } > production { > dataSource { > dbCreate = "update" > url = "jdbc:hsqldb:file:prodDb;shutdown=true" > } > } > } > -- > View this message in context: http://www.nabble.com/TIME_WAIT---can-not-get-pooling-to-work-in-RC4-with-MySQL-tp15197975p15197975.html > Sent from the grails - user mailing list archive at Nabble.com. > > > --------------------------------------------------------------------- > To unsubscribe from this list please visit: > > http://xircles.codehaus.org/manage_email > > -- Graeme Rocher Grails Project Lead G2One, Inc. Chief Technology Officer http://www.g2one.com --------------------------------------------------------------------- To unsubscribe from this list please visit: http://xircles.codehaus.org/manage_email |
|||||||||||||||||||
|
Matt DeHoust
|
In reply to this post
by ic
You need to remove the type, as in:
dataSource { pooled = true ... -Matt On Jan 31, 2008 9:17 AM, ic <[hidden email]> wrote:
|
|||||||||||||||||||
|
ic
|
In reply to this post
by Graeme Rocher
More than sure...
> Grails app throws exception after approx rapid fire 1000 requests. > There are few thousands TIME_WAIT lines in netstat Maybe I needed to add that first approx 1000 requests are returned correctly... Ivan
|
||||||||||||||||||
|
ic
|
In reply to this post
by Matt DeHoust
I'll try that this evening (don't have access to code right now), but I suspect that type should not prevent pooling from working (or at least I hope it shouldn't).
Ivan
|
||||||||||||||||||
|
Graeme Rocher
|
Matt is correct, if you specify the type it is like defining a local
variable. The same as def foo If you omit the type it is like setting a property, which is what you want Cheers On Jan 31, 2008 5:07 PM, ic <[hidden email]> wrote: > > I'll try that this evening (don't have access to code right now), but I > suspect that type should not prevent pooling from working (or at least I > hope it shouldn't). > > Ivan > > > > Matt DeHoust wrote: > > > > You need to remove the type, as in: > > > > dataSource { > > pooled = true > > ... > > > > -Matt > > > > On Jan 31, 2008 9:17 AM, ic <[hidden email]> wrote: > > > >> > >> Thanks for responding, I looked at that post, and I tried to add both: > >> boolean pooled = true > >> boolean pooling = true > >> > >> My assumption was that if I add both at least one will take effect, but > >> to > >> no avail - I still don't get pooling to work correctly. > >> > >> Ivan > >> > >> Here is datasource file: > >> > >> dataSource { > >> boolean pooled = true > >> boolean pooling = true > >> driverClassName = "org.hsqldb.jdbcDriver" > >> username = "sa" > >> password = "" > >> } > >> hibernate { > >> cache.use_second_level_cache=true > >> cache.use_query_cache=true > >> cache.provider_class='org.hibernate.cache.EhCacheProvider' > >> } > >> // environment specific settings > >> environments { > >> development { > >> dataSource { > >> boolean pooled = true > >> boolean pooling = true > >> dbCreate = "update" // one of 'create', > >> 'create-drop','update' > >> //url = "jdbc:hsqldb:mem:devDB" > >> url = "jdbc:mysql://localhost:3306/curofin" > >> driverClassName ="com.mysql.jdbc.Driver" > >> username = "root" > >> } > >> } > >> test { > >> dataSource { > >> dbCreate = "update" > >> url = "jdbc:hsqldb:mem:testDb" > >> } > >> } > >> production { > >> dataSource { > >> dbCreate = "update" > >> url = "jdbc:hsqldb:file:prodDb;shutdown=true" > >> } > >> } > >> } > >> > >> Ivan, > >> > >> Just double-check whether your DataSource.groovy uses the term 'pooling' > >> or > >> 'pooled'. You'll find posts in this forum that indicates there was an > >> error > >> in the initial documentation that is still causing some people problems > >> who > >> aren't aware of the error. > >> > >> Here it is from the horses mouth: :) > >> > >> http://www.nabble.com/Too-many-sockets-open-to-database-to15127113.html#a15145556 > >> > >> The correct term to use is 'pooled'. > >> > >> - Darryl > >> > >> > >> -- > >> View this message in context: > >> http://www.nabble.com/TIME_WAIT---can-not-get-pooling-to-work-in-RC4-with-MySQL-tp15197975p15205657.html > >> Sent from the grails - user mailing list archive at Nabble.com. > >> > >> > >> --------------------------------------------------------------------- > >> To unsubscribe from this list please visit: > >> > >> http://xircles.codehaus.org/manage_email > >> > >> > > > > > > -- > View this message in context: http://www.nabble.com/TIME_WAIT---can-not-get-pooling-to-work-in-RC4-with-MySQL-tp15197975p15208593.html > > Sent from the grails - user mailing list archive at Nabble.com. > > > --------------------------------------------------------------------- > To unsubscribe from this list please visit: > > http://xircles.codehaus.org/manage_email > > -- Graeme Rocher Grails Project Lead G2One, Inc. Chief Technology Officer http://www.g2one.com --------------------------------------------------------------------- To unsubscribe from this list please visit: http://xircles.codehaus.org/manage_email |
|||||||||||||||||||
|
ic
|
Thanks!
You are right - not defining type in front of "pooled" helped! Thanks again, Ivan
|
||||||||||||||||||
| Free Embeddable Forum Powered by Nabble | Help |