bryancall commented on issue #12942:
URL: 
https://github.com/apache/trafficserver/issues/12942#issuecomment-5418061407

   Still present on master as of `052d4a4984`. Re-checked the milestone 
ordering today.
   
   One correction to the description above: `UA_BEGIN_WRITE` is now marked in 
three places, not one. `HttpSM::set_next_state()` marks it for `SERVER_READ` 
and for `SERVE_FROM_CACHE`, and `do_api_callout_internal()` marks it for 
`API_SEND_RESPONSE_HDR`. The `TRANSFORM_READ` case, which calls 
`setup_transfer_from_transform()`, sits directly above the other two in that 
same switch and is the only one of the three transfer paths that does not mark 
it. That is the whole gap.
   
   So the fix is narrower than "set it earlier somewhere on the transform 
path": mark `UA_BEGIN_WRITE` in the `TRANSFORM_READ` case, next to 
`tunnel.tunnel_run()`, exactly as `SERVER_READ` and `SERVE_FROM_CACHE` already 
do. That makes the three transfer paths consistent and puts the milestone at 
the point the client write actually begins, rather than at the response-header 
hook.
   
   I would not clamp the negative value in the logging layer. The ordering is 
the defect, and clamping would hide it while leaving the chain sum wrong.
   


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