0 Replies Latest reply on Sep 2, 2009 6:20 AM by Kavitha Anbazhagan

    Session replication in jBoss 5.1.0 GA

    Kavitha Anbazhagan Newbie

      Hi,

      I am trying the clustering in jboss 5.1.0 installed in two different machines with Apache 2.2.8 and mod_jk-1.2.28-httpd-2.2.3. The loadbalacing is working. But when i shut down one server, then the session of that particular server is not being maintained and am getting 503 exception with the below exception in mod_jk.log

      Exception:
      [Wed Sep 02 14:51:35 2009][3060:3416] [debug] jk_lb_worker.c (950): searching worker for session route node1
      [Wed Sep 02 14:51:35 2009][3060:3416] [info] jk_lb_worker.c (981): all workers are in error state for session YcpysrgSEAz5HMz+mXxp3A__.node1
      [Wed Sep 02 14:51:35 2009][3060:3416] [info] jk_lb_worker.c (1453): All tomcat instances failed, no more workers left (attempt=1, retry=1)
      [Wed Sep 02 14:51:35 2009][3060:3416] [info] jk_lb_worker.c (1464): All tomcat instances are busy or in error state
      [Wed Sep 02 14:51:35 2009][3060:3416] [error] jk_lb_worker.c (1469): All tomcat instances failed, no more workers left
      [Wed Sep 02 14:51:35 2009]router 10.68.200.122 2.390595
      [Wed Sep 02 14:51:35 2009][3060:3416] [info] mod_jk.c (2615): Service error=0 for worker=router

      Below are my configuration:
      httpd.conf
      JkWorkersFile conf/workers.properties

      JkLogFile logs/mod_jk.log

      JkLogLevel debug

      JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"

      JkMount /*.jsp router
      JkMount /*.* router
      JkMount /war31/* router
      JkMount /mbankserver2/* router
      JkMount /jmx-console/* router

      JkRequestLogFormat "%w %V %T"

      JkShmFile logs/jk.shm

      <Location /jkstatus/>
      JkMount jkstatus
      Order deny,allow
      Deny from all
      Allow from 127.0.0.1


      workers.properties
      worker.node1.port=8009
      worker.node1.host=ip
      worker.node1.type=ajp13
      worker.node1.lbfactor=1
      worker.node1.cachesize=10

      worker.node2.port=8009
      worker.node2.host=ip
      worker.node2.type=ajp13
      worker.node2.lbfactor=1
      worker.node2.cachesize=10

      worker.list=router,jkstatus
      worker.router.type=lb
      worker.router.balance_workers=node1,node2
      worker.router.sticky_session=1

      worker.jkstatus.type=status

      In application
      web.xml - Added the distributable tag

      jboss-web.xml
      <jboss-web>
      <replication-config>
      <replication-trigger>SET_AND_NON_PRIMITIVE_GET</replication-trigger>
      <replication-granularity>SESSION</replication-granularity>
      <replication-field-batch-mode>true</replication-field-batch-mode>
      </replication-config>
      </jboss-web>

      In both machine Jboss
      1. Configured the jvmRoute in server.xml
      2. Mentioned the path as SESSIONS.sar in context.xml

      Starting the jboss with
      run -c all -b ip

      Please let me know if i am missing something in the configuration.

      Thanks.