8 Replies Latest reply on Nov 11, 2013 5:02 AM by Stefano Nichele

    Tomcat instance lost and mod-cluster behaviour.  modcluster-97 ?

    Stefano Nichele Newbie

      Hi all,

      i'm using mod-cluster 1.2.0 with tomcat 7. My envrionemnt is deployed on Amazon and, just to have the discussione easier, i have 1 httpd instance +  2 tomcat instances (3 different VMs).

       

      I have noticed that if a tomcat instance is lost (stopped or terminated from amazon console) my environemnt starts to be not stable.

      HTTPD still report my instance in mod_cluster-manager sometime view with status ok and sometime with status notok.

      At this point i have seen some requests still sent to the dead node and, after 1 min,  sent to the other live node.

       

      I have replicated this behavior just using iptables on my tomcat instance closing outgoing 6666 connections and incoming traffic on 8009.

      iptables -A OUTPUT -p tcp -m state --state NEW -m tcp --dport 6666 -j DROP

      iptables -A INPUT -m state --state NEW,ESTABLISHED -p tcp --dport 8009 -j DROP

       

      My concern is about the fact the mod-cluster should know that the node is not working as expected (at least since it is not sending anymore status information) and should remove it from the list of the nodes.

       

      Just found this issue:

      [MODCLUSTER-97] httpd should remove workers who crashed - JBoss Issue Tracker

      that is really similar to my case. Is it a regression ?

       

      This is my tomcat configuration

        <Listener className="org.jboss.modcluster.container.catalina.standalone.ModClusterListener"

                  advertise="false"

                  proxyList="zzzzz:6666"

                  maxAttempts="3"

                  nodeTimeout="600"

                  workerTimeout="-1"

                  ping="60"

                  stickySession="true"

                  stickySessionRemove="false"

                  stickySessionForce="false"

                  loadMetricClass="org.jboss.modcluster.load.metric.impl.AverageSystemLoadMetric"

                  loadMetricCapacity="20"

        />

       

      and this is my httpd conf:

      Listen *:6666

      <VirtualHost *:6666>

       

         <Directory />

            Order deny,allow

            #Deny from all

            Allow from all

         </Directory>

       

         KeepAliveTimeout 60

         MaxKeepAliveRequests 0

         ManagerBalancerName mycluster

         ServerAdvertise Off

         EnableMCPMReceive

       

      </VirtualHost>

       

      Many thanks in advance.

      ste