Copilot commented on code in PR #13961:
URL: https://github.com/apache/trafficserver/pull/13961#discussion_r4445065927
##########
src/proxy/http/HttpTunnel.cc:
##########
@@ -1219,7 +1219,20 @@ HttpTunnel::producer_run(HttpTunnelProducer *p)
if (c->write_vio == nullptr) {
consumer_handler(VC_EVENT_ERROR, c);
}
+ } else if (c->write_empty_body && (c->write_vio =
c->vc->do_io_write(this, 0, c->buffer_reader)) != nullptr) {
+ // The VC signals WRITE_COMPLETE once it has sent the frame that ends
the body.
+ c->write_vio->reenable();
Review Comment:
With `proxy.config.http2.stream_priority_enabled=1`, re-enabling this
zero-byte write for an already-buffered empty request body (such as an empty
chunked HTTP/1.1 POST) aborts ATS. It reaches `Http2Stream::send_body()` and
the priority scheduler's release assertion, but outbound streams have no
`priority_node` because `create_initiating_stream()` does not initialize one.
Route outbound writes through a supported DATA-send path or initialize their
priority state, and add priority-enabled regression coverage.
--
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]