5 Replies Latest reply on Jan 8, 2016 1:29 AM by rajasekhar_123

    'All workers are in error state' with mod_cluster 1.2.6.Final + JBoss EAP 6.1.0 + httpd 2.2.25



      I'm using JBoss EAP 6.1.0.Final + httpd 2.2.25 + mod_cluster 1.2.6.Final for testing. I'm working on a MacOS machine with JDK 7 installed:


      $ java -version
      java version "1.7.0_25" Java(TM) SE Runtime Environment (build 1.7.0_25-b15) Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)
      $ uname -a
      Darwin min 12.4.0 Darwin Kernel Version 12.4.0: Wed May  1 17:57:12 PDT 2013; root:xnu-2050.24.15~1/RELEASE_X86_64 x86_64


      I upgrade the mod_cluster both in httpd and JBoss EAP 6.1.0.Final to 1.2.6.Final. The cluster seems work fine:


      [Sun Sep 15 03:07:47 2013] [notice] Balancer other-server-group changed


      And JBoss EAP side:


      [Server:server-three] 03:07:47,302 INFO  [org.jboss.modcluster] (ContainerBackgroundProcessor[StandardEngine[jboss.web]]) MODCLUSTER000011: jboss.web will use 30b18166-b3c4-3388-8fbe-50af073c7657 as jvm-route



      I could see the node is registered in management console(I've just started 'other-server-group' in domain mode and set port offset to '0' so the port below is '8009'. With this I could use Wireshark to decode AJP13 protocol. And I could see CPING / CPONG are periodically sent between httpd and EAP):


      Node 30b18166-b3c4-3388-8fbe-50af073c7657 (ajp://  Enable Contexts Disable Contexts Balancer: other-server-group,LBGroup: ,Flushpackets: Off,Flushwait: 10000,Ping: 10000000,Smax: 1,Ttl: 60000000,Status: OK,Elected: 0,Read: 0,Transferred: 0,Connected: 0,Load: 100


      But the cluster still not working correctly and I get '503 Service Temporarily Unavailable':


      min:~ weinanli$ telnet 80
      Trying Connected to min. Escape character is '^]'.
      GET /
      <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>503 Service Temporarily Unavailable</title> </head><body> <h1>Service Temporarily Unavailable</h1> <p>The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.</p> </body></html> Connection closed by foreign host.


      And in EAP config it reports the error:


      [Sun Sep 15 03:40:27 2013] [error] proxy: CLUSTER: (balancer://other-server-group). All workers are in error state


      Here is my http config:


      <VirtualHost *:80>
      ProxyPass / balancer://other-server-group    
      ProxyPassReverse / balancer://other-server-group 
      <Location /> Order deny,allow Allow from All </Location>
      <Location /mod_cluster-manager>
      SetHandler mod_cluster-manager
      Order deny,allow Allow from 10.0.1



      <Directory /> Order deny,allow Deny from all Allow from 10.0.1. </Directory>
      AdvertiseFrequency 5 </VirtualHost>


      Here is EAP config:


      <subsystem xmlns="urn:jboss:domain:modcluster:1.1">
          <mod-cluster-config advertise-socket="modcluster" connector="ajp">
                  <load-metric type="busyness"/>


      I've also tried to add another JBoss EAP node into cluster, and from mod_cluster-manager console I could see two nodes are registered correctly. But when I access the cluster it still report:


      [error] proxy: CLUSTER: (balancer://other-server-group). All workers are in error state


      I've searched previous posts and seems this is related with lbfactor config error but don't know how to fix it. Can anyone shed some some light on it? Thanks!