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

proxy.config.net.connections_throttle should allow for immediate error return when accepts reach throttle limit

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: sometime
    • Component/s: Network
    • Labels:
      None

      Description

      When the throttling kicks in future connections to origins will cause a 502 to be returned to the user agent.

      But when an accept happens during the throttling period, a message is only sent if the unix_netProcessor.throttle_error_message member variable is set. In the current code, this member variable is never set. If the variable is not set, the logic blocks for 100ms and tries again.

      This spinning causes the ATS process to waste resources. It would be better to immediately turn around and send an error response (probably 503 instead of 502).

      I tested a build that hard coded an error message and it seemed to recover much better.

      I propose adding some config variables to control the throttling behavior.

      proxy.config.connections_throttle.error_code - HTTP response code to return (or just hard code this to 503)
      proxy.config.connections_throttle.error_page - Reference to an error page to return.

      If both are unset, the existing delaying logic is used. If either is set, either a error header or a header and body are returned immediately.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                shinrich Susan Hinrichs
                Reporter:
                shinrich Susan Hinrichs
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 50m
                  50m