11 Replies Latest reply on Aug 13, 2013 2:07 AM by jfclere

    CAN NOT see nodes on mod_cluster status page after httpd receive a graceful restart signal

    zhouyaguo

      Hi,all:

       

      My environment:

       

      suse:

      SUSE Linux Enterprise Server 11 (x86_64)

       

      httpd on suse:

      linux-01:~ # apache2ctl -v

      Server version: Apache/2.2.12 (Linux/SUSE)

      Server built:   Nov 30 2011 17:54:13

       

      mod_cluster:

      1.2.0.Final

       

      moc_cluster config:

      ###########################################
      Listen 172.18.64.45:6666
      <VirtualHost 172.18.64.45:6666>
       
      ServerName zyg_mod_cluster_apache
       
      <Directory />
         
      Order deny,allow
         
      Deny from all
         
      Allow from all
       
      </Directory>

        KeepAliveTimeout 60
        MaxKeepAliveRequests 0

        EnableMCPMReceive
        ManagerBalancerName mycluster

        # don't use multicast
        ServerAdvertise Off
       
        ###### only used when ServerAdvertise on ###########
        # seconds,Time between the multicast messages advertising the IP and port
        #AdvertiseFrequency 5
        #
        # IP should correspond to AdvertiseGroupAddress and port to AdvertisePort in the JBoss AS/
      JBossWeb/Tomcat configuration
       
      #AdvertiseGroup 224.0.1.105:23364
       
      #
       
      #That is the address and port httpd is bind to send the multicast messages. This allow to specify an address on multi IP address boxes
       
      #AdvertiseBindAddress 0.0.0.0:23364
       
      #####################################################
       
      </VirtualHost>

      <Location /
      status>
       
      SetHandler mod_cluster-manager
       
      Order deny,allow
       
      Deny from all
       
      Allow from all
       
      AllowDisplay on
      </Location>

      Maxnode 20

      #This directive allows a user to specify a timeout on proxy requests. This is useful when you have a slow/
      buggy appserver which hangs, and you would rather just return a timeout and fail gracefully instead of waiting however long it takes the server to return
      ProxyTimeout 60

      # turn on to pass the Host: header from incoming request to the proxied host, value of Host header will be used by sso to redirect(request.getServerName() is used in sso)
      ProxyPreserveHost On

      ##########################################

       

       

      JBoss:

      JBoss EAP 5.1.2

       

       

      One day, i find some log in httpd error_log:

      [Sun May 26 20:30:01 2013] [notice] Graceful restart requested, doing restart   ---caused by logrotate (/etc/init.d/apache2 reload)

      httpd2-prefork: Could not reliably determine the server's fully qualified domain name, using 172.16.26.111 for ServerName

      [Sun May 26 20:30:01 2013] [warn] mod_advertise: ServerAdvertise Address or Port not defined, Advertise disabled!!!        --I don't need advertise,but use tcp instead,it's ok here.

      [Sun May 26 20:30:01 2013] [notice] Apache/2.2.12 (Linux/SUSE) mod_ssl/2.2.12 OpenSSL/0.9.8j-fips mod_cluster/1.2.0.Final configured -- resuming normal operations

       

       

      I set KeepAliveTimeout 60 for mod_cluster and i know jboss report it's STATUS to mod_cluster every 10s.

       

      After httpd received a graceful restart signal(e.g. reload), i can still successfully capture STATUS http request packets from jboss using tcpdump command, but i can NOT see nodes on status page and httpd do NOT forward request to jboss any more.

       

      Any ideas?

       

      Regards