TIME_WAIT - can not get pooling to work in RC4 with MySQL

10 messages Options
Embed this post
Permalink
ic

TIME_WAIT - can not get pooling to work in RC4 with MySQL

Reply Threaded More More options
Print post
Permalink
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"
                }
        }
}
vladlv

(bez temata)

Reply Threaded More More options
Print post
Permalink
unsubscribe
Darryl Pentz

Re: TIME_WAIT - can not get pooling to work in RC4 with MySQL

Reply Threaded More More options
Print post
Permalink
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 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"
                }
        }
}
ic

Re: TIME_WAIT - can not get pooling to work in RC4 with MySQL

Reply Threaded More More options
Print post
Permalink
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

Graeme Rocher

Re: TIME_WAIT - can not get pooling to work in RC4 with MySQL

Reply Threaded More More options
Print post
Permalink
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

Re: TIME_WAIT - can not get pooling to work in RC4 with MySQL

Reply Threaded More More options
Print post
Permalink
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:

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


ic

Re: TIME_WAIT - can not get pooling to work in RC4 with MySQL

Reply Threaded More More options
Print post
Permalink
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

Graeme Rocher-2 wrote:
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 <iceraj@hotmail.com> 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
ic

Re: TIME_WAIT - can not get pooling to work in RC4 with MySQL

Reply Threaded More More options
Print post
Permalink
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

Matt DeHoust wrote:
You need to remove the type, as in:

    dataSource {
        pooled = true
        ...

-Matt

On Jan 31, 2008 9:17 AM, ic <iceraj@hotmail.com> 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
>
>
Graeme Rocher

Re: TIME_WAIT - can not get pooling to work in RC4 with MySQL

Reply Threaded More More options
Print post
Permalink
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

Re: TIME_WAIT - can not get pooling to work in RC4 with MySQL

Reply Threaded More More options
Print post
Permalink
Thanks!

You are right - not defining type in front of "pooled" helped!

Thanks again,
Ivan

Graeme Rocher-2 wrote:
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 <iceraj@hotmail.com> 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 <iceraj@hotmail.com> 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