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]

Reply via email to