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

   Long-lived HTTP/2 origin connections could remain discoverable after
   entering half-close, become unreachable when global pooling was
   configured, or be poisoned by a single request's Connection: close
   header. Requests assigned to those sessions could fail immediately.
   Valid responses could also be rejected when headers used CONTINUATION,
   when their payload length followed HEAD or 304 rules, or when normal
   SETTINGS acknowledgments crossed the receive-rate limit.
   
   This makes outbound HTTP/2 session lifecycle consistently thread-local.
   It always probes the thread pool before configured global pools, ignores
   Connection: close for outbound session shutdown, refuses to re-pool
   half-closed sessions, and evicts sessions as soon as they enter local
   half-close. HTTP/1.x global pooling behavior remains unchanged.
   
   This also carries the protocol's not-processed guarantee from GOAWAY and
   RST_STREAM REFUSED_STREAM into retry selection. It permits safe replay
   of non-idempotent requests and rearms a fully buffered request body
   before a retry. SETTINGS acknowledgments are excluded from the peer
   abuse limit because their rate is bounded by settings sent by Traffic
   Server.
   
   This accepts CONTINUATION frames in valid outbound stream states without
   creating a second transaction and preserves request metadata needed to
   validate HEAD and conditional 304 responses. Replay-based AuTests and
   custom HTTP/2 origins cover session reuse, half-close handling, retries,
   split response headers, payload validation, and SETTINGS accounting.
   
   


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