RequestTimeout error thrown when Nuxeo 5.6 not accessed for a while

I have setup Nuxeo 5.6 on Debian with Postgres 9.1 database running. Everything seems to be working fine for one day, but the next day after I log in I see these errors in the log and nothing is displayed:

    2013-01-16 13:18:52,520 WARN  [org.jboss.seam.jsf.SeamPhaseListener] uncaught exception, passing to exception handler
    org.jboss.seam.ConcurrentRequestTimeoutException: Concurrent call to conversation
            at org.jboss.seam.core.Manager.restoreAndLockConversation(Manager.java:545)
            at org.jboss.seam.core.Manager.restoreConversation(Manager.java:507)
            at org.jboss.seam.jsf.SeamPhaseListener.afterRestoreView(SeamPhaseListener.java:390)
            at org.jboss.seam.jsf.SeamPhaseListener.afterServletPhase(SeamPhaseListener.java:228)
            at org.jboss.seam.jsf.SeamPhaseListener.afterPhase(SeamPhaseListener.java:194)
            at com.sun.faces.lifecycle.Phase.handleAfterPhase(Phase.java:175)
            at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:114)
    ...
    2013-01-16 13:18:52,537 ERROR [org.jboss.seam.jsf.SeamPhaseListener] swallowing exception
org.jboss.seam.ConcurrentRequestTimeoutException: Concurrent call to conversation
        at org.jboss.seam.core.Manager.restoreAndLockConversation(Manager.java:545)
        at org.jboss.seam.core.Manager.restoreConversation(Manager.java:507)
        at org.jboss.seam.jsf.SeamPhaseListener.afterRestoreView(SeamPhaseListener.java:390)
        at org.jboss.seam.jsf.SeamPhaseListener.afterServletPhase(SeamPhaseListener.java:228)
        at org.jboss.seam.jsf.SeamPhaseListener.afterPhase(SeamPhaseListener.java:194)
        at com.sun.faces.lifecycle.Phase.handleAfterPhase(Phase.java:175)
        at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:114)
        at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:103)
        at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
        at org.nuxeo.ecm.platform.ui.web.lifecycle.NuxeoLifeCycleImpl.execute(NuxeoLifeCycleImpl.java:83)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
    ...

    2013-01-16 13:18:52,540 ERROR [org.jboss.seam.jsf.SeamPhaseListener] swallowing exception
java.lang.IllegalStateException: No active conversation context
        at org.jboss.seam.faces.FacesMessages.instance(FacesMessages.java:352)
        at org.jboss.seam.jsf.SeamPhaseListener.beforeRenderResponse(SeamPhaseListener.java:485)
        at org.jboss.seam.jsf.SeamPhaseListener.beforeServletPhase(SeamPhaseListener.java:146)
        at org.jboss.seam.jsf.SeamPhaseListener.beforePhase(SeamPhaseListener.java:116)
        at com.sun.faces.lifecycle.Phase.handleBeforePhase(Phase.java:214)
        at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:96)
    ...
    2013-01-16 13:18:52,540 ERROR [org.jboss.seam.jsf.SeamPhaseListener] swallowing exception
java.lang.IllegalStateException: No active conversation context
        at org.jboss.seam.faces.FacesMessages.instance(FacesMessages.java:352)
        at org.jboss.seam.jsf.SeamPhaseListener.beforeRenderResponse(SeamPhaseListener.java:485)
        at org.jboss.seam.jsf.SeamPhaseListener.beforeServletPhase(SeamPhaseListener.java:146)
        at org.jboss.seam.jsf.SeamPhaseListener.beforePhase(SeamPhaseListener.java:116)
        at com.sun.faces.lifecycle.Phase.handleBeforePhase(Phase.java:214)
        at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:96)
    ...
    2013-01-16 13:18:52,553 ERROR [org.nuxeo.ecm.platform.web.common.exceptionhandling.DefaultNuxeoExceptionHandler] javax.el.ELException: Error writing 'documentView' on type org.nuxeo.ecm.platform.ui.web.rest.RestHelper_$$_javassist_17
        at javax.el.BeanELResolver.setValue(BeanELResolver.java:133)
        at javax.el.CompositeELResolver.setValue(CompositeELResolver.java:69)
        at com.sun.faces.el.FacesCompositeELResolver.setValue(FacesCompositeELResolver.java:100)
        at org.jboss.el.parser.AstPropertySuffix.setValue(AstPropertySuffix.java:73)
        at org.jboss.el.parser.AstValue.setValue(AstValue.java:84)
        at org.jboss.el.ValueExpressionImpl.setValue(ValueExpressionImpl.java:249)
        at org.nuxeo.ecm.platform.ui.web.rest.services.URLPolicyServiceImpl.applyRequestParameters(URLPolicyServiceImpl.java:371)
        at org.nuxeo.ecm.platform.ui.web.rest.RestfulPhaseListener.beforePhase(RestfulPhaseListener.java:97)
        at com.sun.faces.lifecycle.Phase.handleBeforePhase(Phase.java:214)
    ...
    Caused by: org.jboss.seam.RequiredException: @In attribute requires non-null value: restHelper.navigationContext
        at org.jboss.seam.Component.getValueToInject(Component.java:2287)
        at org.jboss.seam.Component.injectAttributes(Component.java:1693)
        at org.jboss.seam.Component.inject(Component.java:1511)
        at org.nuxeo.ecm.platform.ui.web.util.NuxeoBijectionInterceptor.aroundInvoke(NuxeoBijectionInterceptor.java:55
    ...
    2013-01-16 13:18:52,553 ERROR [nuxeo-error-log] javax.el.ELException: Error writing 'documentView' on type org.nuxeo.ecm.platform.ui.web.rest.RestHelper_$$_javassist_17
        at javax.el.BeanELResolver.setValue(BeanELResolver.java:133)
        at javax.el.CompositeELResolver.setValue(CompositeELResolver.java:69)
        at com.sun.faces.el.FacesCompositeELResolver.setValue(FacesCompositeELResolver.java:100)
        at org.jboss.el.parser.AstPropertySuffix.setValue(AstPropertySuffix.java:73)
        at org.jboss.el.parser.AstValue.setValue(AstValue.java:84)
        at org.jboss.el.ValueExpressionImpl.setValue(ValueExpressionImpl.java:249)
        at org.nuxeo.ecm.platform.ui.web.rest.services.URLPolicyServiceImpl.applyRequestParameters(URLPolicyServiceImpl.java:371)
        at org.nuxeo.ecm.platform.ui.web.rest.RestfulPhaseListener.beforePhase(RestfulPhaseListener.java:97)
        at com.sun.faces.lifecycle.Phase.handleBeforePhase(Phase.java:214)
        at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:96)
    ...
    Caused by: org.jboss.seam.RequiredException: @In attribute requires non-null value: restHelper.navigationContext
        at org.jboss.seam.Component.getValueToInject(Component.java:2287)
        at org.jboss.seam.Component.injectAttributes(Component.java:1693)
        at org.jboss.seam.Component.inject(Component.java:1511)
    ...
    2013-01-16 13:18:52,558 ERROR [nuxeo-error-log]
Request Attributes:

javax.servlet.forward.request_uri : /nuxeo/nxpath/default/default-domain/workspaces/NewsTickersAndAlerts@view_documents
javax.servlet.forward.context_path : /nuxeo
javax.servlet.forward.servlet_path : /nxpath/default/default-domain/workspaces/NewsTickersAndAlerts@view_documents
javax.servlet.forward.query_string : tabIds=%3A&conversationId=0NXMAIN
com.sun.faces.util.RequestStateManager : {com.sun.faces.renderKitImplForRequest=org.ajax4jsf.renderkit.ChameleonRenderKitFactory@3451c47d, com.sun.faces.FacesContextImpl=com.sun.faces.context.FacesContextImpl@643b0560, com.sun.faces.INVOCATION_PATH=.faces, com.sun.faces.ELResolverChainType=Faces, com.sun.faces.ExternalContextImpl=com.sun.faces.context.ExternalContextImpl@5ede1508}
org.jboss.seam.core.manager : Manager(null)
requestedUrl : nxpath/default/default-domain/workspaces/NewsTickersAndAlerts@view_documents?tabIds=%3A&old_conversationId=0NXMAIN
securityError : false
org.jboss.seam.web.requestContextPath : /nuxeo
com.exade.vcp.Filter.ResponseWrapper : org.ajax4jsf.webapp.FilterServletResponseWrapper@4636f0e0
nuxeo.disable.redirect.wrapper : true
com.exade.vcp.Filter.done : true
exception_message : @In attribute requires non-null value: restHelper.navigationContext
org.jboss.seam.web.servletContexts : org.jboss.seam.web.ServletContexts@41002623
org.jboss.seam.core.events : org.jboss.seam.core.Events@70c7e52b
org.jboss.seam.web.requestServletPath : /view_documents.faces    

I suspect it has something to do with DB connection timeout.


I have applied all 9 HOTFIX patches and set nuxeo.db.min-pool-size=5 . The morning after I had the same case.

Caused by: org.postgresql.util.PSQLException: An I/O error occured while sending to the backend.
    at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:283)
    at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:512)
    at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:388)
    at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:273)
    at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
    at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
    at org.nuxeo.ecm.directory.sql.SQLSession.getEntryFromSource(SQLSession.java:375)
    ... 42 more
Caused by: java.net.SocketException: Connection timed out
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java:129)
    at org.postgresql.core.VisibleBufferedInputStream.readMore(VisibleBufferedInputStream.java:145)
    at org.postgresql.core.VisibleBufferedInputStream.ensureBytes(VisibleBufferedInputStream.java:114)
    at org.postgresql.core.VisibleBufferedInputStream.read(VisibleBufferedInputStream.java:73)
    at org.postgresql.core.PGStream.ReceiveChar(PGStream.java:274)
    at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1661)
    at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257)
    ... 48 more
2013-01-17 09:04:04,716 INFO  [org.nuxeo.ecm.platform.ui.web.auth.NuxeoAuthenticationFilter] Login failed for martin.koppel

After some trial and error and quick lunch it magically started to work again.

So should I apply TCP keepalive parameters for Postgres database?

0 votes

0 answers

2751 views

ANSWER