bneradt opened a new pull request, #13560:
URL: https://github.com/apache/trafficserver/pull/13560

   Operators who set proxy.config.http.allow_half_open to 0 expect a
   client abort to tear down the transaction, including the connection to
   the origin server. Since 10.1, that no longer happens when the client
   goes away before the origin has sent its response header: ATS holds the
   origin connection open until the response arrives, so a slow origin
   combined with impatient clients can accumulate connections until
   max_requests_in or connections_throttle is reached.
   
   The path that keeps the state machine alive in that window exists so
   that background fill works for clients whose transport cannot half
   close a connection, such as TLS and HTTP/2. It was reachable for two
   unrelated reasons, though, since ProxyTransaction::allow_half_open()
   reports false both for those transports and for an operator who
   disabled half open connections outright.
   
   This patch distinguishes the two by also requiring that half open
   connections be configured before keeping the transaction alive for a
   background fetch. Background fill continues to work for TLS and HTTP/2
   clients under the default configuration, while disabling half open
   connections once again aborts the transaction and drops the origin
   connection. The accompanying autest exercises both outcomes with an
   origin that reports whether the proxy closed the connection, and the
   documentation for allow_half_open now describes the interaction.
   
   Fixes: #13549


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to