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]
