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

   This is a backport to 9.2.x of #12906 (the fix, by @JakeChampion) and #13715 
(test coverage for the scenario reported in #12244).
   
   When the origin sends an interim response (100 Continue or 103 Early
   Hints) before a response that goes through a transform, forwarding the
   interim response sets client_response_hdr_bytes to its header size. The
   server-to-transform tunnel buffer contains only body data, but
   perform_cache_write_action() still passed that stale value as the
   cache-write consumer's skip_bytes. When the body was smaller than the
   interim headers, ATS aborted on the skip_bytes assertion in
   HttpTunnel::producer_run, as reported for Range requests of a small,
   cacheable 308 in #12244.
   
   This patch sets the cache-write skip to zero whenever a transform is
   present, since setup_server_transfer_to_transform() never writes
   headers into the tunnel buffer. It also adds a regression test covering
   both a 100 Continue ahead of a compressed POST response and a 103 Early
   Hints ahead of a 308 served through the range transform.
   
   Fixes: #12244
   🤖 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