Uploaded image for project: 'JBoss Core Services'
  1. JBoss Core Services
  2. JBCS-854

mod_cluster + mod_proxy_wstunnel doesn't work - all workers are in an error state

    Details

    • Target Release:
    • Steps to Reproduce:
      Hide

      See description

      Show
      See description
    • Story Points:
      32
    • QE Test Coverage:
      +

      Description

      The original error was:

      Reported by KooV <coolseed hotmail.com];
      
      h3. Description of problem:
      mod_cluster + mod_proxy_wstunnel causes segfault
      

      but now it returns the error 503 and the log says that "all workers are in an error state"

      Version-Release number of selected component (if applicable):

      RHEL 6.9 x86_64
      Jboss Web Server 3.0.3 + SP1
      JBoss EAP 6.4.16

      This occurred while testing the example https://access.redhat.com/solutions/47442

      mod_cluster.conf in httpd

      LoadModule proxy_cluster_module modules/mod_proxy_cluster.so
      LoadModule cluster_slotmem_module modules/mod_cluster_slotmem.so
      LoadModule manager_module modules/mod_manager.so
      LoadModule advertise_module modules/mod_advertise.so
      
      MemManagerFile /software/httpd/cache/mod_cluster
      
      Listen 192.168.0.81:6666
      <VirtualHost 192.168.0.81:6666>
          <Directory "/">
              Require all granted
          </Directory>
      
          KeepAliveTimeout 60
          MaxKeepAliveRequests 0
          ManagerBalancerName mycluster
          EnableMCPMReceive
          ServerAdvertise Off
      </VirtualHost>
      
      <Location /mc>
          SetHandler mod_cluster-manager
          Require all granted
      </Location>
      

      mod_proxy_wstunnel.conf in httpd

      LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
      #LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
      LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
      
      <Proxy balancer://TEST_WS>
          BalancerMember ws://192.168.0.81:8080 route=node11
          BalancerMember ws://192.168.0.82:8080 route=node21
          ProxySet stickysession=JSESSIONID|jsessionid
      </Proxy>
      
      RewriteEngine On
      
      RewriteCond %{HTTP:Connection} upgrade [NC]
      RewriteCond %{HTTP:Upgrade} websocket [NC]
      RewriteRule /jboss-websocket-hello/(.*)               balancer://TEST_WS/jboss-websocket-hello/$1 [P,L]
      

      Original:

      If you request websocket open, segfault will always occur.
      

      This only happens when using a balancer and not when testing with no balancer.

      Similarly, wierd state occurs when using mod_jk + mod_proxy_wstunnel.

      If you try to stop httpd in the open state of websocket, it will not be stopped and it will end with SIGKILL.

      I think there is something wrong with balancer.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  dsartzetakis Dimitris Sartzetakis
                  Reporter:
                  plodge Paul Lodge
                  Need Info from:
                  Jean-Frederic Clere
                  Tester:
                  Paul Lodge
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  4 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: