bneradt opened a new pull request, #13783: URL: https://github.com/apache/trafficserver/pull/13783
This builds on #13447, and its branch includes that PR's commit. Only the last commit is new here. An HTTP/2 origin that sends GOAWAY is promising to finish every stream at or below its last_stream_id, but ATS closed the session as soon as the frame arrived. During graceful origin drains, every in-flight request on a long-lived, heavily multiplexed session failed at once. Non-idempotent requests cannot be retried after they are sent, so clients saw bursts of 502 ERR_CONNECT_FAIL responses. This patch drains the session instead of closing it. On GOAWAY from an origin, ATS half-closes the session, which removes it from the pool and stops new streams. ATS closes only the streams the origin will not process, which stay marked retryable, and lets the rest run to completion. The session closes once its last stream is released. Inbound GOAWAY handling is unchanged. The outbound HTTP/2 safe-retry AuTest origin gains modes that answer a POST after a GOAWAY covering it, with last_stream_id equal to the stream and 2^31-1. Fixes: #13779 Co-authored-by: Claude Opus 5.5 Medium 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- 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]
