Database connection problems after 8 hours

View: New views
15 Messages — Rating Filter:   Alert me  

Database connection problems after 8 hours

by AleCaste :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello everyone.
This is a recurrent topic I know, but I have not been able to find a solution for it after reading a lot about it on the web.
How can we make Grails work after 8 hours of users' inactivity?

I am using Grails+MySQL+GlassFish
In my Grails project I use Domain Classes handled by Hibernate which make use of the MySQL database.
I also make use of an Utility Class to make direct queries to the MySQL database.

For the c3p0 pool, my "resources.groovy" file looks like this:
// Place your Spring DSL code here
import grails.util.GrailsUtil
import com.mchange.v2.c3p0.ComboPooledDataSource
import org.codehaus.groovy.grails.commons.GrailsApplication
import org.codehaus.groovy.grails.commons.ConfigurationHolder as CH

beans = {
  if (GrailsUtil.environment != GrailsApplication.ENV_TEST && CH.config.dataSource) {
      dataSource(ComboPooledDataSource) { bean ->
         bean.destroyMethod = 'close'
         user = CH.config.dataSource.username
         password = CH.config.dataSource.password
         driverClass = CH.config.dataSource.driverClassName
         jdbcUrl = CH.config.dataSource.url
         initialPoolSize = 10
         minPoolSize = 10
         maxPoolSize = 50
         maxStatements = 240
         maxConnectionAge = 60 * 60 * 2 // 2 hours
         maxIdleTime = 60 * 60 // 1 hour
         idleConnectionTestPeriod = 240
         testConnectionOnCheckin = true
         testConnectionOnCheckout = true
         automaticTestTable = "c3p0_test"
      }
   }  
}

My "DataSource.groovy" file has the following:

dataSource {
  pooled = true
  driverClassName = "com.mysql.jdbc.Driver"
  dialect = "org.hibernate.dialect.MySQLInnoDBDialect"
  username = "*****"
  password = "*****"
  autoreconnect = true
  useUnicode = true
  characterEncoding = "utf-8"
}
hibernate {
    cache.use_second_level_cache=true
    cache.use_query_cache=true
    cache.provider_class='com.opensymphony.oscache.hibernate.OSCacheProvider'
}

The url string I use here is:
url = "jdbc:mysql://localhost:3306/mydatabase?autoReconnect=true&useUnicode=true&characterEncoding=utf-8"




And well... after 8 hours I get the known-by-all message "Broken Pipe":

** BEGIN NESTED EXCEPTION **

java.net.SocketException
MESSAGE: Broken pipe

STACKTRACE:

java.net.SocketException: Broken pipe
        at java.net.SocketOutputStream.socketWrite0(Native Method)
        at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
        at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
        at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
        at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
        at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2744)
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1612)
        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723)
        at com.mysql.jdbc.Connection.execSQL(Connection.java:3283)
        at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1332)
        at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1467)
        at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeQuery(NewProxyPreparedStatement.java:76)
        at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:208)
        at org.hibernate.loader.Loader.getResultSet(Loader.java:1808)
        at org.hibernate.loader.Loader.doQuery(Loader.java:697)
        at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:259)
        at org.hibernate.loader.Loader.doList(Loader.java:2228)
        at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2125)
        at org.hibernate.loader.Loader.list(Loader.java:2120)
        at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:118)
        at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1596)
        at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:306)
        at org.hibernate.impl.CriteriaImpl.uniqueResult(CriteriaImpl.java:328)
        at org.codehaus.groovy.grails.orm.hibernate.metaclass.FindByPersistentMethod$1.doInHibernate(FindByPersistentMethod.java:88)
        at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:419)
        at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:339)
        at org.codehaus.groovy.grails.orm.hibernate.metaclass.FindByPersistentMethod.doInvokeInternalWithExpressions(FindByPersistentMethod.java:60)
        at org.codehaus.groovy.grails.orm.hibernate.metaclass.AbstractClausedStaticPersistentMethod.doInvokeInternal(AbstractClausedStaticPersistentMethod.java:473)
        at org.codehaus.groovy.grails.orm.hibernate.metaclass.AbstractStaticPersistentMethod.invoke(AbstractStaticPersistentMethod.java:55)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:229)
        at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:52)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:43)
        at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:54)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:132)
        at org.codehaus.groovy.grails.plugins.orm.hibernate.HibernatePluginSupport$_addDynamicFinderSupport_closure8.doCall(HibernatePluginSupport.groovy:297)
        at sun.reflect.GeneratedMethodAccessor322.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:86)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:234)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1061)
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:910)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:892)
        at groovy.lang.Closure.call(Closure.java:279)
        at org.codehaus.groovy.runtime.metaclass.ClosureStaticMetaMethod.invoke(ClosureStaticMetaMethod.java:55)
        at groovy.lang.MetaClassImpl.invokeStaticMissingMethod(MetaClassImpl.java:1349)
        at groovy.lang.MetaClassImpl.invokeStaticMethod(MetaClassImpl.java:1337)
        at groovy.lang.ExpandoMetaClass.invokeStaticMethod(ExpandoMetaClass.java:921)
        at org.codehaus.groovy.runtime.callsite.StaticMetaClassSite.call(StaticMetaClassSite.java:23)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:43)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124)
        at JsecDbRealm.authenticate(JsecDbRealm.groovy:23)
        at JsecDbRealm$authenticate.call(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:43)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124)
        at org.jsecurity.grails.RealmWrapper.getAuthenticationInfo(RealmWrapper.groovy:53)
        at org.jsecurity.authc.pam.ModularRealmAuthenticator.doSingleRealmAuthentication(ModularRealmAuthenticator.java:186)
        at org.jsecurity.authc.pam.ModularRealmAuthenticator.doAuthenticate(ModularRealmAuthenticator.java:276)
        at org.jsecurity.authc.AbstractAuthenticator.authenticate(AbstractAuthenticator.java:141)
        at org.jsecurity.mgt.AuthenticatingSecurityManager.authenticate(AuthenticatingSecurityManager.java:171)
        at org.jsecurity.mgt.DefaultSecurityManager.login(DefaultSecurityManager.java:312)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:229)
        at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:52)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:43)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124)
        at AuthController$_closure3.doCall(AuthController.groovy:26)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:266)
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:51)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:47)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:142)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:150)
        at AuthController$_closure3.doCall(AuthController.groovy)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        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:86)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:234)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1061)
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:910)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:892)
        at groovy.lang.Closure.|#]

[#|2009-06-28T11:37:56.233+0200|INFO|glassfish|null|_ThreadID=29;_ThreadName=Thread-3;|call(Closure.java:279)
        at groovy.lang.Closure.call(Closure.java:274)
        at org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.handleAction(SimpleGrailsControllerHelper.java:363)
        at org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.executeAction(SimpleGrailsControllerHelper.java:243)
        at org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.handleURI(SimpleGrailsControllerHelper.java:203)
        at org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.handleURI(SimpleGrailsControllerHelper.java:138)
        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:264)
        at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807)
        at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
        at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:511)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
        at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:431)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:337)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:218)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:250)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:218)
        at org.apache.catalina.core.ApplicationDispatcher.doInvoke(ApplicationDispatcher.java:883)
        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:732)
        at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:554)
        at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:485)
        at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:377)
        at org.codehaus.groovy.grails.web.util.WebUtils.forwardRequestForUrlMappingInfo(WebUtils.java:293)
        at org.codehaus.groovy.grails.web.util.WebUtils.forwardRequestForUrlMappingInfo(WebUtils.java:269)
        at org.codehaus.groovy.grails.web.util.WebUtils.forwardRequestForUrlMappingInfo(WebUtils.java:261)
        at org.codehaus.groovy.grails.web.mapping.filter.UrlMappingsFilter.doFilterInternal(UrlMappingsFilter.java:181)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:250)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:218)
        at org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.obtainContent(GrailsPageFilter.java:171)
        at org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.doFilter(GrailsPageFilter.java:110)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:250)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:218)
        at org.jsecurity.web.servlet.JSecurityFilter.doFilterInternal(JSecurityFilter.java:382)
        at org.jsecurity.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:180)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:250)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:218)
        at org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:65)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:250)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:218)
        at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
        at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236)
        at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:250)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:218)
        at org.apache.catalina.core.StandardWrapperValve.preInvoke(StandardWrapperValve.java:460)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:139)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:186)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:719)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:657)
        at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:96)
        at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:187)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:719)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:657)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:651)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1030)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:142)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:719)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:657)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:651)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1030)
        at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:325)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:242)
        at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:180)
        at com.sun.grizzly.http.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:633)
        at com.sun.grizzly.http.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:570)
        at com.sun.grizzly.http.DefaultProcessorTask.process(DefaultProcessorTask.java:827)
        at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:152)
        at com.sun.enterprise.v3.services.impl.GlassfishProtocolChain.executeProtocolFilter(GlassfishProtocolChain.java:71)
        at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:103)
        at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:89)
        at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
        at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:67)
        at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:56)
        at com.sun.grizzly.util.WorkerThreadImpl.processTask(WorkerThreadImpl.java:325)
        at com.sun.grizzly.util.WorkerThreadImpl.run(WorkerThreadImpl.java:184)


** END NESTED EXCEPTION **


There after, I get other sort of errors like:

[#|2009-06-28T11:41:29.779+0200|INFO|glassfish|null|_ThreadID=26;_ThreadName=Thread-3;|2009-06-28 11:41:29,779 [httpWorkerThread-80-1] ERROR controller.SearchController  - Attempt to update GORM object but failed with exception, calling .refresh()

[#|2009-06-28T11:41:29.775+0200|INFO|glassfish|null|_ThreadID=26;_ThreadName=Thread-3;|2009-06-28 11:41:29,773 [httpWorkerThread-80-1] ERROR hibernate.AssertionFailure  - an assertion failure occured (this may indicate a bug in Hibernate, but is more likely due to unsafe use of the session)
org.hibernate.AssertionFailure: null id in SearchInfo entry (don't flush the Session after an exception occurs) at org.hibernate.event.def.DefaultFlushEntityEventListener.checkId(DefaultFlushEntityEventListener.java:78)


How are people making Grails work after 8 hours??
Everyone should experience these problems too...

Any help will be greatly appreciated.
Alex


 

Re: Database connection problems after 8 hours

by Robert Fischer :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Try 127.0.0.1 instead of "localhost".  I know it sounds retarded, but trust me, it'll work.

~~ Robert.

AleCaste wrote:

> Hello everyone.
> This is a recurrent topic I know, but I have not been able to find a
> solution for it after reading a lot about it on the web.
> How can we make Grails work after 8 hours of users' inactivity?
>
> I am using Grails+MySQL+GlassFish
> In my Grails project I use Domain Classes handled by Hibernate which make
> use of the MySQL database.
> I also make use of an Utility Class to make direct queries to the MySQL
> database.
>
> For the c3p0 pool, my "resources.groovy" file looks like this:
> // Place your Spring DSL code here
> import grails.util.GrailsUtil
> import com.mchange.v2.c3p0.ComboPooledDataSource
> import org.codehaus.groovy.grails.commons.GrailsApplication
> import org.codehaus.groovy.grails.commons.ConfigurationHolder as CH
>
> beans = {
>   if (GrailsUtil.environment != GrailsApplication.ENV_TEST &&
> CH.config.dataSource) {
>       dataSource(ComboPooledDataSource) { bean ->
>          bean.destroyMethod = 'close'
>          user = CH.config.dataSource.username
>          password = CH.config.dataSource.password
>          driverClass = CH.config.dataSource.driverClassName
>          jdbcUrl = CH.config.dataSource.url
>          initialPoolSize = 10
>          minPoolSize = 10
>          maxPoolSize = 50
>          maxStatements = 240
>          maxConnectionAge = 60 * 60 * 2 // 2 hours
>          maxIdleTime = 60 * 60 // 1 hour
>          idleConnectionTestPeriod = 240
>          testConnectionOnCheckin = true
>          testConnectionOnCheckout = true
>          automaticTestTable = "c3p0_test"
>       }
>    }  
> }
>
> My "DataSource.groovy" file has the following:
>
> dataSource {
>   pooled = true
>   driverClassName = "com.mysql.jdbc.Driver"
>   dialect = "org.hibernate.dialect.MySQLInnoDBDialect"
>   username = "*****"
>   password = "*****"
>   autoreconnect = true
>   useUnicode = true
>   characterEncoding = "utf-8"
> }
> hibernate {
>     cache.use_second_level_cache=true
>     cache.use_query_cache=true
>    
> cache.provider_class='com.opensymphony.oscache.hibernate.OSCacheProvider'
> }
>
> The url string I use here is:
> url =
> "jdbc:mysql://localhost:3306/mydatabase?autoReconnect=true&useUnicode=true&characterEncoding=utf-8"
>
>
>
>
> And well... after 8 hours I get the known-by-all message "Broken Pipe":
>
> ** BEGIN NESTED EXCEPTION **
>
> java.net.SocketException
> MESSAGE: Broken pipe
>
> STACKTRACE:
>
> java.net.SocketException: Broken pipe
> at java.net.SocketOutputStream.socketWrite0(Native Method)
> at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
> at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
> at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
> at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
> at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2744)
> at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1612)
> at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723)
> at com.mysql.jdbc.Connection.execSQL(Connection.java:3283)
> at
> com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1332)
> at
> com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1467)
> at
> com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeQuery(NewProxyPreparedStatement.java:76)
> at
> org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:208)
> at org.hibernate.loader.Loader.getResultSet(Loader.java:1808)
> at org.hibernate.loader.Loader.doQuery(Loader.java:697)
> at
> org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:259)
> at org.hibernate.loader.Loader.doList(Loader.java:2228)
> at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2125)
> at org.hibernate.loader.Loader.list(Loader.java:2120)
> at
> org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:118)
> at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1596)
> at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:306)
> at org.hibernate.impl.CriteriaImpl.uniqueResult(CriteriaImpl.java:328)
> at
> org.codehaus.groovy.grails.orm.hibernate.metaclass.FindByPersistentMethod$1.doInHibernate(FindByPersistentMethod.java:88)
> at
> org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:419)
> at
> org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:339)
> at
> org.codehaus.groovy.grails.orm.hibernate.metaclass.FindByPersistentMethod.doInvokeInternalWithExpressions(FindByPersistentMethod.java:60)
> at
> org.codehaus.groovy.grails.orm.hibernate.metaclass.AbstractClausedStaticPersistentMethod.doInvokeInternal(AbstractClausedStaticPersistentMethod.java:473)
> at
> org.codehaus.groovy.grails.orm.hibernate.metaclass.AbstractStaticPersistentMethod.invoke(AbstractStaticPersistentMethod.java:55)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:229)
> at
> org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:52)
> at
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:43)
> at
> org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:54)
> at
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:132)
> at
> org.codehaus.groovy.grails.plugins.orm.hibernate.HibernatePluginSupport$_addDynamicFinderSupport_closure8.doCall(HibernatePluginSupport.groovy:297)
> at sun.reflect.GeneratedMethodAccessor322.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:86)
> at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:234)
> at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1061)
> at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:910)
> at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:892)
> at groovy.lang.Closure.call(Closure.java:279)
> at
> org.codehaus.groovy.runtime.metaclass.ClosureStaticMetaMethod.invoke(ClosureStaticMetaMethod.java:55)
> at
> groovy.lang.MetaClassImpl.invokeStaticMissingMethod(MetaClassImpl.java:1349)
> at groovy.lang.MetaClassImpl.invokeStaticMethod(MetaClassImpl.java:1337)
> at
> groovy.lang.ExpandoMetaClass.invokeStaticMethod(ExpandoMetaClass.java:921)
> at
> org.codehaus.groovy.runtime.callsite.StaticMetaClassSite.call(StaticMetaClassSite.java:23)
> at
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:43)
> at
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
> at
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124)
> at JsecDbRealm.authenticate(JsecDbRealm.groovy:23)
> at JsecDbRealm$authenticate.call(Unknown Source)
> at
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:43)
> at
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
> at
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124)
> at
> org.jsecurity.grails.RealmWrapper.getAuthenticationInfo(RealmWrapper.groovy:53)
> at
> org.jsecurity.authc.pam.ModularRealmAuthenticator.doSingleRealmAuthentication(ModularRealmAuthenticator.java:186)
> at
> org.jsecurity.authc.pam.ModularRealmAuthenticator.doAuthenticate(ModularRealmAuthenticator.java:276)
> at
> org.jsecurity.authc.AbstractAuthenticator.authenticate(AbstractAuthenticator.java:141)
> at
> org.jsecurity.mgt.AuthenticatingSecurityManager.authenticate(AuthenticatingSecurityManager.java:171)
> at
> org.jsecurity.mgt.DefaultSecurityManager.login(DefaultSecurityManager.java:312)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:229)
> at
> org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:52)
> at
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:43)
> at
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
> at
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124)
> at AuthController$_closure3.doCall(AuthController.groovy:26)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:266)
> at
> org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:51)
> at
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:47)
> at
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:142)
> at
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:150)
> at AuthController$_closure3.doCall(AuthController.groovy)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 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:86)
> at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:234)
> at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1061)
> at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:910)
> at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:892)
> at groovy.lang.Closure.|#]
>
> [#|2009-06-28T11:37:56.233+0200|INFO|glassfish|null|_ThreadID=29;_ThreadName=Thread-3;|call(Closure.java:279)
> at groovy.lang.Closure.call(Closure.java:274)
> at
> org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.handleAction(SimpleGrailsControllerHelper.java:363)
> at
> org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.executeAction(SimpleGrailsControllerHelper.java:243)
> at
> org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.handleURI(SimpleGrailsControllerHelper.java:203)
> at
> org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.handleURI(SimpleGrailsControllerHelper.java:138)
> 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:264)
> at
> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807)
> at
> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
> at
> org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:511)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
> at
> org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:431)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:337)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:218)
> at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:250)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:218)
> at
> org.apache.catalina.core.ApplicationDispatcher.doInvoke(ApplicationDispatcher.java:883)
> at
> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:732)
> at
> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:554)
> at
> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:485)
> at
> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:377)
> at
> org.codehaus.groovy.grails.web.util.WebUtils.forwardRequestForUrlMappingInfo(WebUtils.java:293)
> at
> org.codehaus.groovy.grails.web.util.WebUtils.forwardRequestForUrlMappingInfo(WebUtils.java:269)
> at
> org.codehaus.groovy.grails.web.util.WebUtils.forwardRequestForUrlMappingInfo(WebUtils.java:261)
> at
> org.codehaus.groovy.grails.web.mapping.filter.UrlMappingsFilter.doFilterInternal(UrlMappingsFilter.java:181)
> at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:250)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:218)
> at
> org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.obtainContent(GrailsPageFilter.java:171)
> at
> org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.doFilter(GrailsPageFilter.java:110)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:250)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:218)
> at
> org.jsecurity.web.servlet.JSecurityFilter.doFilterInternal(JSecurityFilter.java:382)
> at
> org.jsecurity.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:180)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:250)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:218)
> at
> org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:65)
> at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:250)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:218)
> at
> org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
> at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
> at
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236)
> at
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:250)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:218)
> at
> org.apache.catalina.core.StandardWrapperValve.preInvoke(StandardWrapperValve.java:460)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:139)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:186)
> at
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:719)
> at
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:657)
> at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:96)
> at
> com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:187)
> at
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:719)
> at
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:657)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:651)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1030)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:142)
> at
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:719)
> at
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:657)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:651)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1030)
> at
> org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:325)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:242)
> at
> com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:180)
> at
> com.sun.grizzly.http.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:633)
> at
> com.sun.grizzly.http.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:570)
> at
> com.sun.grizzly.http.DefaultProcessorTask.process(DefaultProcessorTask.java:827)
> at
> com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:152)
> at
> com.sun.enterprise.v3.services.impl.GlassfishProtocolChain.executeProtocolFilter(GlassfishProtocolChain.java:71)
> at
> com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:103)
> at
> com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:89)
> at
> com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
> at
> com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:67)
> at
> com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:56)
> at
> com.sun.grizzly.util.WorkerThreadImpl.processTask(WorkerThreadImpl.java:325)
> at com.sun.grizzly.util.WorkerThreadImpl.run(WorkerThreadImpl.java:184)
>
>
> ** END NESTED EXCEPTION **
>
>
> There after, I get other sort of errors like:
>
> [#|2009-06-28T11:41:29.779+0200|INFO|glassfish|null|_ThreadID=26;_ThreadName=Thread-3;|2009-06-28
> 11:41:29,779 [httpWorkerThread-80-1] ERROR controller.SearchController  -
> Attempt to update GORM object but failed with exception, calling .refresh()
>
> [#|2009-06-28T11:41:29.775+0200|INFO|glassfish|null|_ThreadID=26;_ThreadName=Thread-3;|2009-06-28
> 11:41:29,773 [httpWorkerThread-80-1] ERROR hibernate.AssertionFailure  - an
> assertion failure occured (this may indicate a bug in Hibernate, but is more
> likely due to unsafe use of the session)
> org.hibernate.AssertionFailure: null id in SearchInfo entry (don't flush the
> Session after an exception occurs) at
> org.hibernate.event.def.DefaultFlushEntityEventListener.checkId(DefaultFlushEntityEventListener.java:78)
>
>
> How are people making Grails work after 8 hours??
> Everyone should experience these problems too...
>
> Any help will be greatly appreciated.
> Alex
>
>
>  

--
~~ Robert Fischer, Smokejumper IT Consulting.
Enfranchised Mind Blog http://EnfranchisedMind.com/blog

Check out my book, "Grails Persistence with GORM and GSQL"!
http://www.smokejumperit.com/redirect.html

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email



Re: Database connection problems after 8 hours

by AleCaste :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Thanks Robert.
I'll try your suggestion and will report back in 8 hours time...
I hope it works; I don't know what else to do

Re: Database connection problems after 8 hours

by Robert Fischer :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I had this problem before.  It's because of apparently abandoned sockets getting closed/cleaned up.
  Changing to the TCP/IP version (which you do by using *any* IP address) will fix this.

~~ Robert.

AleCaste wrote:
> Thanks Robert.
> I'll try your suggestion and will report back in 8 hours time...
> I hope it works; I don't know what else to do

--
~~ Robert Fischer, Smokejumper IT Consulting.
Enfranchised Mind Blog http://EnfranchisedMind.com/blog

Check out my book, "Grails Persistence with GORM and GSQL"!
http://www.smokejumperit.com/redirect.html

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email



Re: Database connection problems after 8 hours

by AleCaste :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Robert,
Well... apparently it works! I have tested it after 10 hours of inactivity and it works.
In reality I get a "Broken Pipe" error, but just once.
After it, the application recovers well and I get no further errors.
From the user's point of view it is all happening backstage so he does not notice anything.

I will test it further to make sure everything is robust, but so far so good.
Thanks for your suggestion Robert.

Re: Database connection problems after 8 hours

by AleCaste :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello,

It failed on me again after 2 days running...
There must be something else...
Using the IP address instead of localhost helps somehow, but apparently it does not make my app total broken-pipe-proof.
Any further ideas?

The error I've got after running the app for 2 days without user inactivity is:

[#|2009-07-03T11:53:03.935+0200|INFO|glassfish|null|_ThreadID=28;_ThreadName=Thread-3;|2009-07-03 11:53:03,935 [httpWorkerThread-80-4] ERROR util.JDBCExceptionReporter  - Communications link failure due to underlying exception:

** BEGIN NESTED EXCEPTION **

java.net.SocketException
MESSAGE: Broken pipe

STACKTRACE:

java.net.SocketException: Broken pipe
        at java.net.SocketOutputStream.socketWrite0(Native Method)
        at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
        at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
        at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
        at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
        at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2744)
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1612)
        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723)
        at com.mysql.jdbc.Connection.execSQL(Connection.java:3283)
        at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1332)
        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1604)
        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1519)
        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1504)
        at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate(NewProxyPreparedStatement.java:105)
        at org.hibernate.id.IdentityGenerator$GetGeneratedKeysDelegate.executeAndExtract(IdentityGenerator.java:94)
        at org.hibernate.id.insert.AbstractReturningDelegate.performInsert(AbstractReturningDelegate.java:57)
        at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2186)
        at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2666)
        at org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:71)
        at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279)
        at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:321)
        at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:204)
        at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:130)
        at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210)
        at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195)
        at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:117)
        at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)
        at org.codehaus.groovy.grails.orm.hibernate.support.ClosureEventTriggeringInterceptor.super$4$onSaveOrUpdate(ClosureEventTriggeringInterceptor.groovy)
        at sun.reflect.GeneratedMethodAccessor429.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:86)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:234)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1061)
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:910)
        at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:127)
        at org.codehaus.groovy.grails.orm.hibernate.support.ClosureEventTriggeringInterceptor.onSaveOrUpdate(ClosureEventTriggeringInterceptor.groovy:91)
        at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:534)
        at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:526)
        at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:522)
        at sun.reflect.GeneratedMethodAccessor490.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.springframework.orm.hibernate3.HibernateTemplate$CloseSuppressingInvocationHandler.invoke(HibernateTemplate.java:1293)
        at $Proxy69.saveOrUpdate(Unknown Source)
        at org.codehaus.groovy.grails.orm.hibernate.metaclass.SavePersistentMethod$1.doInHibernate(SavePersistentMethod.java:54)
        at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:419)
        at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:339)
        at org.codehaus.groovy.grails.orm.hibernate.metaclass.SavePersistentMethod.performSave(SavePersistentMethod.java:52)
        at org.codehaus.groovy.grails.orm.hibernate.metaclass.AbstractSavePersistentMethod.doInvokeInternal(AbstractSavePersistentMethod.java:113)
        at org.codehaus.groovy.grails.orm.hibernate.metaclass.AbstractDynamicPersistentMethod.invoke(AbstractDynamicPersistentMethod.java:52)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSite.invoke(PojoMetaMethodSite.java:188)
        at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:52)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:43)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:132)
        at org.codehaus.groovy.grails.plugins.orm.hibernate.HibernatePluginSupport$_addBasicPersistenceMethods_closure61.doCall(HibernatePluginSupport.groovy:588)
        at sun.reflect.GeneratedMethodAccessor491.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:86)
        at org.codehaus.groovy.runtime.metaclass.ClosureMetaMethod.invoke(ClosureMetaMethod.java:81)
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoMetaMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:307)
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.call(PogoMetaMethodSite.java:63)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:43)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124)
        at SearchController.saveGormObject(SearchController.groovy:677)
        at SearchController.this$2$saveGormObject(SearchController.groovy)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        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:86)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:234)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1061)
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:910)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:892)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1009)
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:910)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:892)
        at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:47)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:142)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:150)
        at SearchController$_closure2.doCall(SearchController.groovy:93)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAcc|#]

[#|2009-07-03T11:53:03.937+0200|INFO|glassfish|null|_ThreadID=28;_ThreadName=Thread-3;|essorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:266)
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:51)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:47)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:142)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:150)
        at SearchController$_closure2.doCall(SearchController.groovy)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        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:86)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:234)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1061)
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:910)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:892)
        at groovy.lang.Closure.call(Closure.java:279)
        at groovy.lang.Closure.call(Closure.java:274)
        at org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.handleAction(SimpleGrailsControllerHelper.java:363)
        at org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.executeAction(SimpleGrailsControllerHelper.java:243)
        at org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.handleURI(SimpleGrailsControllerHelper.java:203)
        at org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.handleURI(SimpleGrailsControllerHelper.java:138)
        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:264)
        at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807)
        at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
        at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:511)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
        at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:431)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:337)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:218)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:250)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:218)
        at org.apache.catalina.core.ApplicationDispatcher.doInvoke(ApplicationDispatcher.java:883)
        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:732)
        at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:554)
        at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:485)
        at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:377)
        at org.codehaus.groovy.grails.web.util.WebUtils.forwardRequestForUrlMappingInfo(WebUtils.java:293)
        at org.codehaus.groovy.grails.web.util.WebUtils.forwardRequestForUrlMappingInfo(WebUtils.java:269)
        at org.codehaus.groovy.grails.web.util.WebUtils.forwardRequestForUrlMappingInfo(WebUtils.java:261)
        at org.codehaus.groovy.grails.web.mapping.filter.UrlMappingsFilter.doFilterInternal(UrlMappingsFilter.java:181)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:250)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:218)
        at org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.obtainContent(GrailsPageFilter.java:171)
        at org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.doFilter(GrailsPageFilter.java:110)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:250)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:218)
        at org.jsecurity.web.servlet.JSecurityFilter.doFilterInternal(JSecurityFilter.java:382)
        at org.jsecurity.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:180)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:250)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:218)
        at org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:65)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:250)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:218)
        at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
        at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236)
        at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:250)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:218)
        at org.apache.catalina.core.StandardWrapperValve.preInvoke(StandardWrapperValve.java:460)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:139)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:186)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:719)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:657)
        at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:96)
        at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:187)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:719)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:657)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:651)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1030)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:142)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:719)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:657)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:651)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1030)
        at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:325)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:242)
        at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:180)
        at com.sun.grizzly.http.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:633)
        at com.sun.grizzly.http.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:570)
        at com.sun.grizzly.http.DefaultProcessorT|#]

[#|2009-07-03T11:53:03.939+0200|INFO|glassfish|null|_ThreadID=28;_ThreadName=Thread-3;|ask.process(DefaultProcessorTask.java:827)
        at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:152)
        at com.sun.enterprise.v3.services.impl.GlassfishProtocolChain.executeProtocolFilter(GlassfishProtocolChain.java:71)
        at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:103)
        at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:89)
        at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
        at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:67)
        at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:56)
        at com.sun.grizzly.util.WorkerThreadImpl.processTask(WorkerThreadImpl.java:325)
        at com.sun.grizzly.util.WorkerThreadImpl.run(WorkerThreadImpl.java:184)


** END NESTED EXCEPTION **





I had this problem before.  It's because of apparently abandoned sockets getting closed/cleaned up.
  Changing to the TCP/IP version (which you do by using *any* IP address) will fix this.

~~ Robert.

RE: Database connection problems after 8 hours

by Bob Brown-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I wonder, re any of these relevant/helpful:

http://jira.codehaus.org/browse/SONAR-351

Or this:

http://confluence.atlassian.com/display/CONFKB/Login+after+a+long+inactivity
+on+confluence+fails+using+MySQL

Or:

http://6by9.wordpress.com/2009/06/18/tomcatjetty-dbcp-and-stale-connections/

Just shooting into the dark a little.

Cheers,

BOB



> -----Original Message-----
> From: AleCaste [mailto:alecaste@...]
> Sent: Friday, 3 July 2009 8:03 PM
> To: user@...
> Subject: Re: [grails-user] Database connection problems after 8 hours
>
>
> Hello,
>
> It failed on me again after 2 days running...
> There must be something else...
> Using the IP address instead of localhost helps somehow, but apparently
> it
> does not make my app total broken-pipe-proof.
> Any further ideas?
>
> The error I've got after running the app for 2 days without user
> inactivity
> is:
>
> [#|2009-07-
> 03T11:53:03.935+0200|INFO|glassfish|null|_ThreadID=28;_ThreadName=Threa
> d-3;|2009-07-03
> 11:53:03,935 [httpWorkerThread-80-4] ERROR util.JDBCExceptionReporter
> -
> Communications link failure due to underlying exception:
>
> ** BEGIN NESTED EXCEPTION **
>
> java.net.SocketException
> MESSAGE: Broken pipe
>
> STACKTRACE:
>
> java.net.SocketException: Broken pipe
> at java.net.SocketOutputStream.socketWrite0(Native Method)
> at
> java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
> at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
> at
> java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
> at
> java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
> at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2744)
> at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1612)
> at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723)
> at com.mysql.jdbc.Connection.execSQL(Connection.java:3283)
> at
> com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java
> :1332)
> at
> com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1
> 604)
> at
> com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1
> 519)
> at
> com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1
> 504)
> at
> com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate(NewPro
> xyPreparedStatement.java:105)
> at
> org.hibernate.id.IdentityGenerator$GetGeneratedKeysDelegate.executeAndE
> xtract(IdentityGenerator.java:94)
> at
> org.hibernate.id.insert.AbstractReturningDelegate.performInsert(Abstrac
> tReturningDelegate.java:57)
> at
> org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractE
> ntityPersister.java:2186)
> at
> org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractE
> ntityPersister.java:2666)
> at
> org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityI
> nsertAction.java:71)
> at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279)
> at
> org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicat
> e(AbstractSaveEventListener.java:321)
> at
> org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractS
> aveEventListener.java:204)
> at
> org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(A
> bstractSaveEventListener.java:130)
> at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGenera
> tedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210)
> at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransi
> ent(DefaultSaveOrUpdateEventListener.java:195)
> at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrU
> pdate(DefaultSaveOrUpdateEventListener.java:117)
> at
> org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate
> (DefaultSaveOrUpdateEventListener.java:93)
> at
> org.codehaus.groovy.grails.orm.hibernate.support.ClosureEventTriggering
> Interceptor.super$4$onSaveOrUpdate(ClosureEventTriggeringInterceptor.gr
> oovy)
> at sun.reflect.GeneratedMethodAccessor429.invoke(Unknown Source)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccesso
> rImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86
> )
> at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:234)
> at
> groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1061)
> at
> groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:910)
> at
> org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(
> ScriptBytecodeAdapter.java:127)
> at
> org.codehaus.groovy.grails.orm.hibernate.support.ClosureEventTriggering
> Interceptor.onSaveOrUpdate(ClosureEventTriggeringInterceptor.groovy:91)
> at
> org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:534)
> at
> org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:526)
> at
> org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:522)
> at sun.reflect.GeneratedMethodAccessor490.invoke(Unknown Source)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccesso
> rImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.springframework.orm.hibernate3.HibernateTemplate$CloseSuppressingIn
> vocationHandler.invoke(HibernateTemplate.java:1293)
> at $Proxy69.saveOrUpdate(Unknown Source)
> at
> org.codehaus.groovy.grails.orm.hibernate.metaclass.SavePersistentMethod
> $1.doInHibernate(SavePersistentMethod.java:54)
> at
> org.springframework.orm.hibernate3.HibernateTemplate.doExecute(Hibernat
> eTemplate.java:419)
> at
> org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateT
> emplate.java:339)
> at
> org.codehaus.groovy.grails.orm.hibernate.metaclass.SavePersistentMethod
> .performSave(SavePersistentMethod.java:52)
> at
> org.codehaus.groovy.grails.orm.hibernate.metaclass.AbstractSavePersiste
> ntMethod.doInvokeInternal(AbstractSavePersistentMethod.java:113)
> at
> org.codehaus.groovy.grails.orm.hibernate.metaclass.AbstractDynamicPersi
> stentMethod.invoke(AbstractDynamicPersistentMethod.java:52)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.ja
> va:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccesso
> rImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMetho
> dSite.invoke(PojoMetaMethodSite.java:188)
> at
> org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMe
> thodSite.java:52)
> at
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSite
> Array.java:43)
> at
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCall
> Site.java:116)
> at
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCall
> Site.java:132)
> at
> org.codehaus.groovy.grails.plugins.orm.hibernate.HibernatePluginSupport
> $_addBasicPersistenceMethods_closure61.doCall(HibernatePluginSupport.gr
> oovy:588)
> at sun.reflect.GeneratedMethodAccessor491.invoke(Unknown Source)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccesso
> rImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86
> )
> at
> org.codehaus.groovy.runtime.metaclass.ClosureMetaMethod.invoke(ClosureM
> etaMethod.java:81)
> at
> org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoMetaMethodS
> iteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:307)
> at
> org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.call(PogoMetaMe
> thodSite.java:63)
> at
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSite
> Array.java:43)
> at
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCall
> Site.java:116)
> at
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCall
> Site.java:124)
> at SearchController.saveGormObject(SearchController.groovy:677)
> at
> SearchController.this$2$saveGormObject(SearchController.groovy)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.ja
> va:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccesso
> rImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86
> )
> at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:234)
> at
> groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1061)
> at
> groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:910)
> at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:892)
> at
> groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1009)
> at
> groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:910)
> at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:892)
> at
> org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(Pogo
> MetaClassSite.java:66)
> at
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(C
> allSiteArray.java:47)
> at
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(Abstr
> actCallSite.java:142)
> at
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(Abstr
> actCallSite.java:150)
> at SearchController$_closure2.doCall(SearchController.groovy:93)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAcc|#]
>
> [#|2009-07-
> 03T11:53:03.937+0200|INFO|glassfish|null|_ThreadID=28;_ThreadName=Threa
> d-3;|essorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccesso
> rImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMetho
> dSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:266)
> at
> org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(Pog
> oMetaMethodSite.java:51)
> at
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(C
> allSiteArray.java:47)
> at
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(Abstr
> actCallSite.java:142)
> at
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(Abstr
> actCallSite.java:150)
> at SearchController$_closure2.doCall(SearchController.groovy)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.ja
> va:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccesso
> rImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:86
> )
> at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:234)
> at
> groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1061)
> at
> groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:910)
> at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:892)
> at groovy.lang.Closure.call(Closure.java:279)
> at groovy.lang.Closure.call(Closure.java:274)
> at
> org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper
> .handleAction(SimpleGrailsControllerHelper.java:363)
> at
> org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper
> .executeAction(SimpleGrailsControllerHelper.java:243)
> at
> org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper
> .handleURI(SimpleGrailsControllerHelper.java:203)
> at
> org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper
> .handleURI(SimpleGrailsControllerHelper.java:138)
> at
> org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsController.handl
> eRequest(SimpleGrailsController.java:88)
> at
> org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.hand
> le(SimpleControllerHandlerAdapter.java:48)
> at
> org.codehaus.groovy.grails.web.servlet.GrailsDispatcherServlet.doDispat
> ch(GrailsDispatcherServlet.java:264)
> at
> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherS
> ervlet.java:807)
> at
> org.springframework.web.servlet.FrameworkServlet.processRequest(Framewo
> rkServlet.java:571)
> at
> org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServle
> t.java:511)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
> at
> org.apache.catalina.core.ApplicationFilterChain.servletService(Applicat
> ionFilterChain.java:431)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
> ationFilterChain.java:337)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
> terChain.java:218)
> at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReq
> uestFilter.java:70)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
> ationFilterChain.java:250)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
> terChain.java:218)
> at
> org.apache.catalina.core.ApplicationDispatcher.doInvoke(ApplicationDisp
> atcher.java:883)
> at
> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispat
> cher.java:732)
> at
> org.apache.catalina.core.ApplicationDispatcher.processRequest(Applicati
> onDispatcher.java:554)
> at
> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDis
> patcher.java:485)
> at
> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispa
> tcher.java:377)
> at
> org.codehaus.groovy.grails.web.util.WebUtils.forwardRequestForUrlMappin
> gInfo(WebUtils.java:293)
> at
> org.codehaus.groovy.grails.web.util.WebUtils.forwardRequestForUrlMappin
> gInfo(WebUtils.java:269)
> at
> org.codehaus.groovy.grails.web.util.WebUtils.forwardRequestForUrlMappin
> gInfo(WebUtils.java:261)
> at
> org.codehaus.groovy.grails.web.mapping.filter.UrlMappingsFilter.doFilte
> rInternal(UrlMappingsFilter.java:181)
> at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReq
> uestFilter.java:76)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
> ationFilterChain.java:250)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
> terChain.java:218)
> at
> org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.obtainContent(
> GrailsPageFilter.java:171)
> at
> org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.doFilter(Grail
> sPageFilter.java:110)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
> ationFilterChain.java:250)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
> terChain.java:218)
> at
> org.jsecurity.web.servlet.JSecurityFilter.doFilterInternal(JSecurityFil
> ter.java:382)
> at
> org.jsecurity.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestF
> ilter.java:180)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
> ationFilterChain.java:250)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
> terChain.java:218)
> at
> org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequestFilter.doFil
> terInternal(GrailsWebRequestFilter.java:65)
> at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReq
> uestFilter.java:76)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
> ationFilterChain.java:250)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
> terChain.java:218)
> at
> org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal
> (CharacterEncodingFilter.java:96)
> at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerReq
> uestFilter.java:76)
> at
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(Del
> egatingFilterProxy.java:236)
> at
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(Delegatin
> gFilterProxy.java:167)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
> ationFilterChain.java:250)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
> terChain.java:218)
> at
> org.apache.catalina.core.StandardWrapperValve.preInvoke(StandardWrapper
> Valve.java:460)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVal
> ve.java:139)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextVal
> ve.java:186)
> at
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.jav
> a:719)
> at
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.jav
> a:657)
> at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:96)
> at
> com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessio
> nLockingStandardPipeline.java:98)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.jav
> a:187)
> at
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.jav
> a:719)
> at
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.jav
> a:657)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:
> 651)
> at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1030)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve
> .java:142)
> at
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.jav
> a:719)
> at
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.jav
> a:657)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:
> 651)
> at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1030)
> at
> org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.jav
> a:325)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
> 242)
> at
> com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMa
> pper.java:180)
> at
> com.sun.grizzly.http.DefaultProcessorTask.invokeAdapter(DefaultProcesso
> rTask.java:633)
> at
> com.sun.grizzly.http.DefaultProcessorTask.doProcess(DefaultProcessorTas
> k.java:570)
> at com.sun.grizzly.http.DefaultProcessorT|#]
>
> [#|2009-07-
> 03T11:53:03.939+0200|INFO|glassfish|null|_ThreadID=28;_ThreadName=Threa
> d-3;|ask.process(DefaultProcessorTask.java:827)
> at
> com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilte
> r.java:152)
> at
> com.sun.enterprise.v3.services.impl.GlassfishProtocolChain.executeProto
> colFilter(GlassfishProtocolChain.java:71)
> at
> com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:
> 103)
> at
> com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:
> 89)
> at
> com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:7
> 6)
> at
> com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTas
> k.java:67)
> at
> com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.ja
> va:56)
> at
> com.sun.grizzly.util.WorkerThreadImpl.processTask(WorkerThreadImpl.java
> :325)
> at
> com.sun.grizzly.util.WorkerThreadImpl.run(WorkerThreadImpl.java:184)
>
>
> ** END NESTED EXCEPTION **
>
>
>
>
>
> I had this problem before.  It's because of apparently abandoned
> sockets
> getting closed/cleaned up.
>   Changing to the TCP/IP version (which you do by using *any* IP
> address)
> will fix this.
>
> ~~ Robert.
>
> --
> View this message in context: http://www.nabble.com/Database-
> connection-problems-after-8-hours-tp24261030p24320616.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
>



---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email



RE: Database connection problems after 8 hours

by AleCaste :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Thanks Bob.
I've checked all the links you have suggested.
A tip that I've seen quite often is to remove "autoReconnect=true" from the connection string when using a pool (as we are).
I'm trying this and will be reporting back after 1 or 2 days.

Thanks!

RE: Database connection problems after 8 hours

by AleCaste :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Didn't work. I'm really stuck now.
Anyone else experiencing the same connection problems with Grails+MySQL+GlassFish ?


The error I got after 1 day was:

[#|2009-07-04T16:23:20.114+0200|INFO|glassfish|null|_ThreadID=21;_ThreadName=Thread-3;|2009-07-04 16:23:20,113 [httpWorkerThread-80-6] ERROR util.JDBCExceptionReporter  - Communications link failure due to underlying exception:

** BEGIN NESTED EXCEPTION **

java.net.SocketException
MESSAGE: Broken pipe

STACKTRACE:

java.net.SocketException: Broken pipe
        at java.net.SocketOutputStream.socketWrite0(Native Method)
        at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
        at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
        at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
        at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
        at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2744)
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1612)
        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723)
        at com.mysql.jdbc.Connection.execSQL(Connection.java:3283)
        at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1332)
        at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1467)
        at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeQuery(NewProxyPreparedStatement.java:76)
        at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:208)
        at org.hibernate.loader.Loader.getResultSet(Loader.java:1808)
        at org.hibernate.loader.Loader.doQuery(Loader.java:697)
        at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:259)
        at org.hibernate.loader.Loader.doList(Loader.java:2228)
        at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2125)
        at org.hibernate.loader.Loader.list(Loader.java:2120)
        at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:118)
        at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1596)
        at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:306)
        at org.hibernate.impl.CriteriaImpl.uniqueResult(CriteriaImpl.java:328)
        at org.codehaus.groovy.grails.orm.hibernate.metaclass.FindByPersistentMethod$1.doInHibernate(FindByPersistentMethod.java:88)
        at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:419)
        at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:339)
        at org.codehaus.groovy.grails.orm.hibernate.metaclass.FindByPersistentMethod.doInvokeInternalWithExpressions(FindByPersistentMethod.java:60)
        at org.codehaus.groovy.grails.orm.hibernate.metaclass.AbstractClausedStaticPersistentMethod.doInvokeInternal(AbstractClausedStaticPersistentMethod.java:473)
        at org.codehaus.groovy.grails.orm.hibernate.metaclass.AbstractStaticPersistentMethod.invoke(AbstractStaticPersistentMethod.java:55)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:229)
        at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:52)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:132)
        at org.codehaus.groovy.grails.plugins.orm.hibernate.HibernatePluginSupport$_addDynamicFinderSupport_closure8.doCall(HibernatePluginSupport.groovy:297)
        at sun.reflect.GeneratedMethodAccessor667.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:86)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:234)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1061)
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:910)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:892)
        at groovy.lang.Closure.call(Closure.java:279)
        at org.codehaus.groovy.runtime.metaclass.ClosureStaticMetaMethod.invoke(ClosureStaticMetaMethod.java:55)
        at groovy.lang.MetaClassImpl.invokeStaticMissingMethod(MetaClassImpl.java:1349)
        at groovy.lang.MetaClassImpl.invokeStaticMethod(MetaClassImpl.java:1337)
        at groovy.lang.ExpandoMetaClass.invokeStaticMethod(ExpandoMetaClass.java:921)
        at org.codehaus.groovy.runtime.callsite.StaticMetaClassSite.call(StaticMetaClassSite.java:23)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:43)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124)
        at SearchController$_closure3.doCall(SearchController.groovy:128)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:266)
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:51)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:47)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:142)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:150)
        at SearchController$_closure3.doCall(SearchController.groovy)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        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:86)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:234)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1061)
        at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:910)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:892)
        at groovy.lang.Closure.call(Closure.java:279)
        at groovy.lang.Closure.call(Closure.java:274)
        at org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.handleAction(SimpleGrailsControllerHelper.java:363)
        at org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.executeAction(SimpleGrailsControllerHelper.java:243)
        at org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.handleURI(SimpleGrailsControllerHelper.java:203)
        at org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.handleURI(SimpleGrailsControllerHelper.java:138)
        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:264)
        at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807)
        at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
        at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:511)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
        at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:431)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:337)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:218)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:250)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:218)
        at |#]

[#|2009-07-04T16:23:20.116+0200|INFO|glassfish|null|_ThreadID=21;_ThreadName=Thread-3;|org.apache.catalina.core.ApplicationDispatcher.doInvoke(ApplicationDispatcher.java:883)
        at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:732)
        at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:554)
        at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:485)
        at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:377)
        at org.codehaus.groovy.grails.web.util.WebUtils.forwardRequestForUrlMappingInfo(WebUtils.java:293)
        at org.codehaus.groovy.grails.web.util.WebUtils.forwardRequestForUrlMappingInfo(WebUtils.java:269)
        at org.codehaus.groovy.grails.web.util.WebUtils.forwardRequestForUrlMappingInfo(WebUtils.java:261)
        at org.codehaus.groovy.grails.web.mapping.filter.UrlMappingsFilter.doFilterInternal(UrlMappingsFilter.java:181)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:250)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:218)
        at org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.obtainContent(GrailsPageFilter.java:171)
        at org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.doFilter(GrailsPageFilter.java:110)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:250)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:218)
        at org.jsecurity.web.servlet.JSecurityFilter.doFilterInternal(JSecurityFilter.java:382)
        at org.jsecurity.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:180)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:250)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:218)
        at org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:65)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:250)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:218)
        at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
        at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
        at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236)
        at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:250)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:218)
        at org.apache.catalina.core.StandardWrapperValve.preInvoke(StandardWrapperValve.java:460)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:139)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:186)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:719)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:657)
        at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:96)
        at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:187)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:719)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:657)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:651)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1030)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:142)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:719)
        at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:657)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:651)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1030)
        at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:325)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:242)
        at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:180)
        at com.sun.grizzly.http.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:633)
        at com.sun.grizzly.http.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:570)
        at com.sun.grizzly.http.DefaultProcessorTask.process(DefaultProcessorTask.java:827)
        at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:152)
        at com.sun.enterprise.v3.services.impl.GlassfishProtocolChain.executeProtocolFilter(GlassfishProtocolChain.java:71)
        at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:103)
        at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:89)
        at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
        at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:67)
        at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:56)
        at com.sun.grizzly.util.WorkerThreadImpl.processTask(WorkerThreadImpl.java:325)
        at com.sun.grizzly.util.WorkerThreadImpl.run(WorkerThreadImpl.java:184)


** END NESTED EXCEPTION **

RE: Database connection problems after 8 hours

by nycsailor :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I use the sun app server 2.1 with several Grails apps without any
problem.  I know it is glassfish based, not sure how different it is
from straight glassfish.  Are you connecting directly or jndi?

On Sat, 2009-07-04 at 07:31 -0700, AleCaste wrote:

> Didn't work. I'm really stuck now.
> Anyone else experiencing the same connection problems with
> Grails+MySQL+GlassFish ?
>
>
> The error I got after 1 day was:
>
> [#|2009-07-04T16:23:20.114+0200|INFO|glassfish|null|_ThreadID=21;_ThreadName=Thread-3;|2009-07-04
> 16:23:20,113 [httpWorkerThread-80-6] ERROR util.JDBCExceptionReporter  -
> Communications link failure due to underlying exception:
>
> ** BEGIN NESTED EXCEPTION **
>
> java.net.SocketException
> MESSAGE: Broken pipe
>
> STACKTRACE:
>
> java.net.SocketException: Broken pipe
> at java.net.SocketOutputStream.socketWrite0(Native Method)
> at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
> at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
> at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
> at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
> at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2744)
> at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1612)
> at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723)
> at com.mysql.jdbc.Connection.execSQL(Connection.java:3283)
> at
> com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1332)
> at
> com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1467)
> at
> com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeQuery(NewProxyPreparedStatement.java:76)
> at
> org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:208)
> at org.hibernate.loader.Loader.getResultSet(Loader.java:1808)
> at org.hibernate.loader.Loader.doQuery(Loader.java:697)
> at
> org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:259)
> at org.hibernate.loader.Loader.doList(Loader.java:2228)
> at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2125)
> at org.hibernate.loader.Loader.list(Loader.java:2120)
> at
> org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.java:118)
> at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1596)
> at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:306)
> at org.hibernate.impl.CriteriaImpl.uniqueResult(CriteriaImpl.java:328)
> at
> org.codehaus.groovy.grails.orm.hibernate.metaclass.FindByPersistentMethod$1.doInHibernate(FindByPersistentMethod.java:88)
> at
> org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:419)
> at
> org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:339)
> at
> org.codehaus.groovy.grails.orm.hibernate.metaclass.FindByPersistentMethod.doInvokeInternalWithExpressions(FindByPersistentMethod.java:60)
> at
> org.codehaus.groovy.grails.orm.hibernate.metaclass.AbstractClausedStaticPersistentMethod.doInvokeInternal(AbstractClausedStaticPersistentMethod.java:473)
> at
> org.codehaus.groovy.grails.orm.hibernate.metaclass.AbstractStaticPersistentMethod.invoke(AbstractStaticPersistentMethod.java:55)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:229)
> at
> org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:52)
> at
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:132)
> at
> org.codehaus.groovy.grails.plugins.orm.hibernate.HibernatePluginSupport$_addDynamicFinderSupport_closure8.doCall(HibernatePluginSupport.groovy:297)
> at sun.reflect.GeneratedMethodAccessor667.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:86)
> at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:234)
> at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1061)
> at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:910)
> at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:892)
> at groovy.lang.Closure.call(Closure.java:279)
> at
> org.codehaus.groovy.runtime.metaclass.ClosureStaticMetaMethod.invoke(ClosureStaticMetaMethod.java:55)
> at
> groovy.lang.MetaClassImpl.invokeStaticMissingMethod(MetaClassImpl.java:1349)
> at groovy.lang.MetaClassImpl.invokeStaticMethod(MetaClassImpl.java:1337)
> at
> groovy.lang.ExpandoMetaClass.invokeStaticMethod(ExpandoMetaClass.java:921)
> at
> org.codehaus.groovy.runtime.callsite.StaticMetaClassSite.call(StaticMetaClassSite.java:23)
> at
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:43)
> at
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
> at
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124)
> at SearchController$_closure3.doCall(SearchController.groovy:128)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:266)
> at
> org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:51)
> at
> org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:47)
> at
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:142)
> at
> org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:150)
> at SearchController$_closure3.doCall(SearchController.groovy)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 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:86)
> at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:234)
> at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1061)
> at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:910)
> at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:892)
> at groovy.lang.Closure.call(Closure.java:279)
> at groovy.lang.Closure.call(Closure.java:274)
> at
> org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.handleAction(SimpleGrailsControllerHelper.java:363)
> at
> org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.executeAction(SimpleGrailsControllerHelper.java:243)
> at
> org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.handleURI(SimpleGrailsControllerHelper.java:203)
> at
> org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.handleURI(SimpleGrailsControllerHelper.java:138)
> 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:264)
> at
> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807)
> at
> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
> at
> org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:511)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
> at
> org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:431)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:337)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:218)
> at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:70)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:250)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:218)
> at |#]
>
> [#|2009-07-04T16:23:20.116+0200|INFO|glassfish|null|_ThreadID=21;_ThreadName=Thread-3;|org.apache.catalina.core.ApplicationDispatcher.doInvoke(ApplicationDispatcher.java:883)
> at
> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:732)
> at
> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:554)
> at
> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:485)
> at
> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:377)
> at
> org.codehaus.groovy.grails.web.util.WebUtils.forwardRequestForUrlMappingInfo(WebUtils.java:293)
> at
> org.codehaus.groovy.grails.web.util.WebUtils.forwardRequestForUrlMappingInfo(WebUtils.java:269)
> at
> org.codehaus.groovy.grails.web.util.WebUtils.forwardRequestForUrlMappingInfo(WebUtils.java:261)
> at
> org.codehaus.groovy.grails.web.mapping.filter.UrlMappingsFilter.doFilterInternal(UrlMappingsFilter.java:181)
> at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:250)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:218)
> at
> org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.obtainContent(GrailsPageFilter.java:171)
> at
> org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.doFilter(GrailsPageFilter.java:110)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:250)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:218)
> at
> org.jsecurity.web.servlet.JSecurityFilter.doFilterInternal(JSecurityFilter.java:382)
> at
> org.jsecurity.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:180)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:250)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:218)
> at
> org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:65)
> at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:250)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:218)
> at
> org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
> at
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
> at
> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236)
> at
> org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:250)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:218)
> at
> org.apache.catalina.core.StandardWrapperValve.preInvoke(StandardWrapperValve.java:460)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:139)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:186)
> at
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:719)
> at
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:657)
> at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:96)
> at
> com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:187)
> at
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:719)
> at
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:657)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:651)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1030)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:142)
> at
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:719)
> at
> org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:657)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:651)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1030)
> at
> org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:325)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:242)
> at
> com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:180)
> at
> com.sun.grizzly.http.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:633)
> at
> com.sun.grizzly.http.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:570)
> at
> com.sun.grizzly.http.DefaultProcessorTask.process(DefaultProcessorTask.java:827)
> at
> com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:152)
> at
> com.sun.enterprise.v3.services.impl.GlassfishProtocolChain.executeProtocolFilter(GlassfishProtocolChain.java:71)
> at
> com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:103)
> at
> com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:89)
> at
> com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
> at
> com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:67)
> at
> com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:56)
> at
> com.sun.grizzly.util.WorkerThreadImpl.processTask(WorkerThreadImpl.java:325)
> at com.sun.grizzly.util.WorkerThreadImpl.run(WorkerThreadImpl.java:184)
>
>
> ** END NESTED EXCEPTION **


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email



RE: Database connection problems after 8 hours

by AleCaste :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I found workaround for this.

Through the Quartz plugin, I created a periodic job that writes, reads, and delete a temporal GORM object using hibernate in order to keep the connection alive.

The problem is hibernate-related because when I use the database directly I get no errors whatsoever even after 2 o 3 days running.

With a tiny periodic job like the abovementioned one, the problem does not longer occur. I don't like it too much because it is a workaround and not a fix, but for now I can make do with it.

My scenario is Grails+MySQL+GlassFish, and I'm using the database both directly and through hibernate (not using JNDI by the way). I have no idea whether this problem arises in other scenarios too although there are quite a lot of people reporting broken-pipe connection issues out there.

Once again, I'm certain it has to do with HIBERNATE (I'm using Hibernate 1.1.1 plugin for Grails).

If anyone finds out how to really fix this, please let me know.

Thanks everyone




I use the sun app server 2.1 with several Grails apps without any
problem.  I know it is glassfish based, not sure how different it is
from straight glassfish.  Are you connecting directly or jndi?

Re: Database connection problems after 8 hours

by saw303 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi

2009/7/6 AleCaste <alecaste@...>
My scenario is Grails+MySQL+GlassFish, and I'm using the database both
directly and through hibernate (not using JNDI by the way). 

We are using the same configuration Grails 1.1.1, MySQL and Glassfish 2.1.
Our webapp uses a JNDI datasource and we do not suffer from this problem. Have you tried to retrieve the datasource over JNDI?

Cheers,
Silvio

Re: Database connection problems after 8 hours

by AleCaste :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hmmmm... interesting.
Let me give it a try and I'll let you know if JNDI would do the magic for us too...
Thanks for the suggestion Silvio


saw303 wrote:
Hi
We are using the same configuration Grails 1.1.1, MySQL and Glassfish 2.1.
Our webapp uses a JNDI datasource and we do not suffer from this problem.
Have you tried to retrieve the datasource over JNDI?

Cheers,
Silvio

Re: Database connection problems after 8 hours

by Robert Fischer :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

If it does, I'm back to thinking it's something about your connection handling.

~~ Robert.

AleCaste wrote:

> Hmmmm... interesting.
> Let me give it a try and I'll let you know if JNDI would do the magic for us
> too...
> Thanks for the suggestion Silvio
>
>
>
> saw303 wrote:
>> Hi
>> We are using the same configuration Grails 1.1.1, MySQL and Glassfish 2.1.
>> Our webapp uses a JNDI datasource and we do not suffer from this problem.
>> Have you tried to retrieve the datasource over JNDI?
>>
>> Cheers,
>> Silvio
>>
>>
>

--
~~ Robert Fischer, Smokejumper IT Consulting.
Enfranchised Mind Blog http://EnfranchisedMind.com/blog

Check out my book, "Grails Persistence with GORM and GSQL"!
http://www.smokejumperit.com/redirect.html

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email



Re: Database connection problems after 8 hours

by AleCaste :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello Silvio,

Could you send me some guidelines to use JNDI in Grails for both Jetty and GlasFish?
We really tried to fix the 8h-connection problem using different alternatives but none of them have proved 100% robust.
We would like to try JNDI but we might need some guidelines to use it correctly.
Could you send me a few lines in this respect?

Your help would be very much appreciated.
Alex


saw303 wrote:
Hi

We are using the same configuration Grails 1.1.1, MySQL and Glassfish 2.1.
Our webapp uses a JNDI datasource and we do not suffer from this problem.
Have you tried to retrieve the datasource over JNDI?

Cheers,
Silvio