[
https://issues.apache.org/jira/browse/TS-4332?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15354382#comment-15354382
]
ASF GitHub Bot commented on TS-4332:
------------------------------------
GitHub user shinrich opened a pull request:
https://github.com/apache/trafficserver/pull/761
TS-4332: proxy.config.net.connections_throttle should allow for immed…
…iate error return when accepts reach throttle limit
Removed emergency_throttle logic because we have had problems getting
things to recover after going into emergency. Need to reconsider how to do
tiers of throttling that are recoverable.
Changed the inbound over limit requests to close the connection
immediately. This reduces load on the ATS process which is reasonable if we
are trying to shed connections.
Added metrics to track how inbound and outbound connections are throttled.
Added port decoration to indicate that a port should not be throttled.
Useful to protect health check and other internal communication.
Updated documentation.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/shinrich/trafficserver ts-4332
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/trafficserver/pull/761.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #761
----
commit b616cd082fa58cbaf6b460267da95e29d8004b13
Author: Susan Hinrichs <[email protected]>
Date: 2016-06-29T00:35:20Z
TS-4332: proxy.config.net.connections_throttle should allow for immediate
error return when accepts reach throttle limit
----
> 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)