Uploaded image for project: 'mod_cluster'
  1. mod_cluster
  2. MODCLUSTER-754

Modcluster: Contexts not registered on proxy when server started in suspend mode

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 2.0.3.Final, 1.4.5.Final
    • 1.4.4.Final, 2.0.1.Final
    • Core + SPIs
    • None
    • Hide

      Use default configurations.

      1. Run load balancer: ./standalone.sh -c standalone-load-balancer.xml -Djboss.socket.binding.port-offset=100
      2. Run worker node (optional with some predeployed app, e.g. helloworld-rs quickstart): ./standalone.sh -c standalone-ha.xml --start-mode=suspend
      3. Load balancer log is expected to contain following lines:

      17:25:47,668 INFO  [io.undertow] (default task-1) UT005053: Registering node rama, connection: ajp://127.0.0.1:8009/?#
      17:25:47,678 INFO  [io.undertow] (default task-1) UT005045: Registering context /helloworld-rs, for node rama
      17:25:47,684 INFO  [io.undertow] (default task-1) UT005045: Registering context /wildfly-services, for node rama
      

      but it only contains the first line:

      17:26:45,117 INFO  [io.undertow] (default task-2) UT005053: Registering node rama, connection: ajp://127.0.0.1:8009/?#
      

      Also, running this CLI command on load balancer should return list of web contexts on the worker node, but the result is empty:

      /subsystem=undertow/configuration=filter/mod-cluster=load-balancer/balancer=mycluster/node=rama/context=*:read-resource
      

      Then, change configuration of the worker node to following (advertise=false, proxies="load-balancer"):

              <subsystem xmlns="urn:jboss:domain:modcluster:5.0">
                  <proxy name="default" advertise-socket="modcluster" listener="ajp" advertise="false" proxies="load-balancer">
                      <dynamic-load-provider>
                          <load-metric type="cpu"/>
                      </dynamic-load-provider>
                  </proxy>
              </subsystem>
      ...
              <outbound-socket-binding name="load-balancer">
                  <remote-destination host="localhost" port="8190"/>
              </outbound-socket-binding>
      ...
      

      Start the worker node again in suspend mode, this time contexts get correctly registered on the load balancer.

      Show
      Use default configurations. 1. Run load balancer: ./standalone.sh -c standalone-load-balancer.xml -Djboss.socket.binding.port-offset=100 2. Run worker node (optional with some predeployed app, e.g. helloworld-rs quickstart): ./standalone.sh -c standalone-ha.xml --start-mode=suspend 3. Load balancer log is expected to contain following lines: 17:25:47,668 INFO [io.undertow] ( default task-1) UT005053: Registering node rama, connection: ajp: //127.0.0.1:8009/?# 17:25:47,678 INFO [io.undertow] ( default task-1) UT005045: Registering context /helloworld-rs, for node rama 17:25:47,684 INFO [io.undertow] ( default task-1) UT005045: Registering context /wildfly-services, for node rama but it only contains the first line: 17:26:45,117 INFO [io.undertow] ( default task-2) UT005053: Registering node rama, connection: ajp: //127.0.0.1:8009/?# Also, running this CLI command on load balancer should return list of web contexts on the worker node, but the result is empty: /subsystem=undertow/configuration=filter/mod-cluster=load-balancer/balancer=mycluster/node=rama/context=*:read-resource Then, change configuration of the worker node to following ( advertise=false , proxies="load-balancer" ): <subsystem xmlns= "urn:jboss:domain:modcluster:5.0" > <proxy name= " default " advertise-socket= "modcluster" listener= "ajp" advertise= " false " proxies= "load-balancer" > <dynamic-load-provider> <load-metric type= "cpu" /> </dynamic-load-provider> </proxy> </subsystem> ... <outbound-socket-binding name= "load-balancer" > <remote-destination host= "localhost" port= "8190" /> </outbound-socket-binding> ... Start the worker node again in suspend mode, this time contexts get correctly registered on the load balancer.

      When server is started in default HA configuration (modcluster advertise=true, proxies undefined) in suspended mode, it doesn't register web contexts to modcluster proxy.

      The web contexts should be registered as disabled.

      When defining proxy connections manually (via the proxies attribute referencing an outbound socket binding), contexts are correctly registered.

            thofman Tomas Hofman
            thofman Tomas Hofman
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: