[ 
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)

Reply via email to