[
https://issues.apache.org/jira/browse/TS-4332?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15354401#comment-15354401
]
ASF GitHub Bot commented on TS-4332:
------------------------------------
Github user zwoop commented on a diff in the pull request:
https://github.com/apache/trafficserver/pull/761#discussion_r68876660
--- Diff: doc/admin-guide/files/records.config.en.rst ---
@@ -643,6 +644,8 @@ tr-out
tr-pass
Transparent pass through. This option is useful only for inbound
transparent proxy ports. If the parsing of the expected HTTP header fails, then
the transaction is switched to a blind tunnel instead of generating an error
response to the client. It effectively enables
:ts:cv:`proxy.config.http.use_client_target_addr` for the transaction as there
is no other place to obtain the origin server address.
+no-throttle
--- End diff --
Hmmm, what's the use case here? if you don't want to throttle, wouldn't you
just set proxy.config.net.connections_throttle arbitrarily high? Or, perhaps
have an option (-1?) for proxy.config.net.connections_throttle to mean no
throttle?
Or is the main idea here that you'd leave one port open for connections,
such as a critical requests port? If so, we probably should document that use
case, no?
> proxy.config.net.connections_throttle should allow for immediate error return
> when accepts reach throttle limit
> ---------------------------------------------------------------------------------------------------------------
>
> Key: TS-4332
> URL: https://issues.apache.org/jira/browse/TS-4332
> Project: Traffic Server
> Issue Type: Bug
> Components: Network
> Reporter: Susan Hinrichs
> Assignee: Susan Hinrichs
> Fix For: sometime
>
>
> 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.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)