4 Replies Latest reply on Feb 4, 2015 11:35 AM by Tomaz Cerar

    Clustering without mod_cluster

    Allen MILLER Newbie



      We're trying to implement JBoss AS7.4 (eap-6.3 alpha) in a clustered mode without using mod_cluster. Is it possible?


      Our environment already has a load balancer fronting the two servers we're trying to cluster and it seems that's what mod_cluster wants to do as well.


      When we deploy in clustered mode, it generally works however periodically we see lock acquisition errors, i.e. TimeoutException: JBAS010213: Cannot acquire lock default-host...from cluster. When this happens the system slows dramatically and the session has to be killed to continue.


      We're basically using a vanilla standalone-ha.xml; we've tried it both leaving the modcluster subsystem in the config and also removing it, with similar results.


      Any insight appreciated...


        • 1. Re: Clustering without mod_cluster
          Tomaz Cerar Master

          Mod cluster is completely optional. you can use it or not.

          it is completely up to you, if you have existing clustering solution you could just use that.

          • 2. Re: Clustering without mod_cluster
            Radoslav Husar Master

            Correct, mod_cluster is optional as it is only the load-balancer integration piece. You can completely remove the extension and subsystem.


            The problem you are running into seems to be that your current load-balancer is not using sticky sessions, please make sure to enable it in your balancer.

            • 3. Re: Clustering without mod_cluster
              Allen MILLER Newbie

              The IT department is resisting sticky sessions as they are pushing for session replication.


              It seems that if sticky sessions were in play, it wouldn't be necessary to cluster JBoss at all since a user session would be completely handled by one node...unless I'm missing something fundamental here.

              • 4. Re: Clustering without mod_cluster
                Tomaz Cerar Master

                Nah, sticky sessions mean that LB would direct sessions to the node that created them unless that node goes down

                in this case any other node in cluster would serve it.


                Thing is that session replication takes some time and if you configure it that you have SYNC session replication against all nodes in cluster.

                every request would take extra time to complete, as it would wait until session state is replicated before returning response to LB.


                If you go with sticky sessions you can have async replication and nodes will only take over sessions if original node fails.


                in short it will work in both cases, but using sticky sessions will be much faster