1 Reply Latest reply on Jul 30, 2004 5:29 PM by julien.dubois

    Failed to replicate session

    dometita

      Need some help.
      Product is JBoss 3.2x. I'm trying to develop a web application using the Apache Struts framework.
      The JBoss installation came with another product and I did not set it up for clustering (nor do I want to). However, I'm getting the following errors whenever I hit any Struts Actions:
      ---------------------------------------------------------------
      10:25:43,126 WARN [InstantSnapshotManager] Failed to replicate sessionID:KtGQPFddV3HJ6UKglHaN9Q**
      javax.ejb.EJBException: Exception in setHttpSession: java.lang.NullPointerException
      at org.jboss.ha.httpsession.server.ClusteredHTTPSessionService.setHttpSession(ClusteredHTTPSessionService.java:103)
      at java.lang.reflect.Method.invoke(Native Method)
      at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
      at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:549)
      at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:177)
      at $Proxy77.setHttpSession(Unknown Source)
      at org.jboss.web.catalina.session.ClusterManager.storeSession(ClusterManager.java:558)
      at org.jboss.web.catalina.session.InstantSnapshotManager.snapshot(InstantSnapshotManager.java:38)
      at org.jboss.web.catalina.session.ClusteredSessionValve.invoke(ClusteredSessionValve.java:89)
      at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
      at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
      at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
      at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
      at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
      at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
      at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
      at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
      at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:509)
      at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
      at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
      at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
      at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
      at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
      at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
      at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)
      at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
      at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
      at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
      at java.lang.Thread.run(Thread.java:479)

      --------------------------------------------------------

      I get the error even if I myself am not putting anything into the session object.
      How can I turn off the session replication? Where can I find the configurations for clustering? I read somewhere there is an attribute,HttpSessionSnapshotFrequency, for an Http Session service that I can set to 'never'.
      Any help would be greatly appreciated.

        • 1. Re: Failed to replicate session
          julien.dubois

          1- Have a look at the "distributable" attribute in your web.xml. You should set this to false.
          2- You are running with the "all" configuration, you might want to downgrade to the "default" configuration.
          3- Or just shut down the other nodes, that's the best way to make your cluster die.