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]

Reply via email to