Uploaded image for project: 'Traffic Server'
  1. Traffic Server
  2. TS-4341

When ATS hits `proxy.config.http.origin_max_connections` it has no limits on the number of requests that can be queued

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None

      Description

      If you enable `proxy.config.http.origin_max_connections` to a specific origin, and that origin hits the max number of connections-- ATS will just reschedule the connection indefinitely. This is problematic because if the origin is down you can consume all available connections within ATS (UA side) waiting on the origin to finish up some requests.

      I expect the requests past `proxy.config.http.origin_max_connections` to error out (5xx response code), after talking to James Peach that might be a bit too agressive-- as this is used by some to limit the number of connections to the origin (not just limit connection usage in ATS).

      My proposed fix is to take a page out of haproxy's book-- and add a `proxy.config.http.origin_max_connections_queue` – where we will allow a certain number of connections to queue up waiting on the origin, and if we exceed that number we 5xx the request.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                jacksontj Thomas Jackson
                Reporter:
                jacksontj Thomas Jackson
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: