Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-11198

Session draining on stopped worker won't complete if further requests are made on balancer

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • Major
    • None
    • 15.0.0.Beta1
    • mod_cluster
    • None
    • Hide
      1. Start mod_cluster configuration with at least two workers (with session-draining-strategy=ALWAYS) and one balancer
      2. Deploy simple application with simple web.xml defining session timeout:
        <web-app>
            <distributable />
            <session-config>
                <session-timeout>1</session-timeout> <!-- minutes -->
            </session-config>
        </web-app>
        

        on each worker

      3. Make request on balancer to context created by deployed application and check which worker handled this request
      4. Disable this worker /subsystem=modcluster/proxy=default:stop(waittime=0)
      5. Check, that contexts on this worker are disabled
      6. Make further requests on balancer to the same context
      7. Draining will never complete (intermittently)
      Show
      Start mod_cluster configuration with at least two workers (with session-draining-strategy=ALWAYS) and one balancer Deploy simple application with simple web.xml defining session timeout: <web-app> <distributable /> <session-config> <session-timeout> 1 </session-timeout> <!-- minutes --> </session-config> </web-app> on each worker Make request on balancer to context created by deployed application and check which worker handled this request Disable this worker /subsystem=modcluster/proxy=default:stop(waittime=0) Check, that contexts on this worker are disabled Make further requests on balancer to the same context Draining will never complete (intermittently)

    Description

      When disabling worker with /subsystem=modcluster/proxy=default:stop(waittime=0), the contexts are switched to disabled state. If there no further requests (on the same context which session currently times out) are made on a balancer, session correctly times out, contexts switch to stopped state and everything is OK.

      However, when I run same stop operation, wait until contexts are switched into disabled state and in time in which sessions time out I make more requests on balancer, contexts will never switch to stopped state and session draining never completes. This happens intermittently (~60% of cases with 10 requests made after disabled state is in place).

      Attachments

        Activity

          People

            rhn-engineering-rhusar Radoslav Husar
            jkasik@redhat.com Jan Kašík
            Jan Kašík Jan Kašík
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: