masaori335 opened a new pull request, #13069:
URL: https://github.com/apache/trafficserver/pull/13069
# Problem
When an origin server accepts a TCP/TLS connection but closes it without
sending any HTTP response, ATS does not mark the origin as down — even after
exhausting all retry attempts. This can cause ATS to keep hammering a
misbehaving origin on every request.
# Fix
- Add a new policy, `4`, all failures covered by policy 3, plus the case
where `server_response_hdr_bytes == 0` at the end of a transaction — i.e. the
origin closed or reset the connection after the TCP handshake without sending
any HTTP response.
- The `HttpSM::track_connect_fail()` function was also refactored for
clarity.
- AuTest uses new `on_connect: refuse|reset` feature (thank you, @bneradt )
## notes
Two cases are explicitly excluded:
- Reused keep-alive connections: there is a known race between ATS reusing a
keep-alive connection and the origin closing it, described by @moonchen on
#12437. this policy is only applied for the first transaction.
- Multiplexed origins ( HTTP/2 ): per-stream error observation (e.g.
RST_STREAM) and does not indicate the underlying connection is unhealthy.
--
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]