Uploaded image for project: 'Undertow'
  1. Undertow
  2. UNDERTOW-898

Failover targets should be chosen deterministically

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 2.0.0.Beta1, 1.4.8.Final
    • 1.4.4.Final
    • Proxy
    • None

      Undertow task

      We would like to have this bit of configurable logic, off by default, implemented in Undertow. The C implementation is clear enough, the algorithm is just one line. I believe it could be translated to Undertow mod_cluster Proxy logic.

      See: https://github.com/modcluster/mod_proxy_cluster/pull/8/files

      Description

      Under the following conditions:
      1. A request arrives for a session with an unknown route
      2. A request arrives for a session with a known route in an error state, or if the intended worker is unresponsive and needs to failover

      ... the failover target must be chosen in a deterministic way. This is meant to mitigate the situation where concurrent requests failover to different nodes and cause cluster-wide contention for the session. Given a consistent ordering of workers (e.g. lexographically), the failover target should be chosen by something like: hash code of session id % active worker count.

              rhn-engineering-rhusar Radoslav Husar
              mbabacek1@redhat.com Karm Karm
              Karm Karm Karm Karm
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: