vmamidi commented on issue #7521:
URL: https://github.com/apache/trafficserver/issues/7521#issuecomment-791163343
> A "bt full" would be useful, although I would really only need the bottom
4-5 frames (particularly the arguments to `Warn_Blocked`).
>
> OTOH, consider the bottom of the stack
>
> ```
>
/some/path/bin/traffic_server(OutboundConnTrack::TxnState::Warn_Blocked(OutboundConnTrack::TxnConfig
const*, long, int, sockaddr const*, char const*)+0x41)[0x55978718cd11]
>
/some/path/bin/traffic_server(HttpSM::do_http_server_open(bool)+0x1455)[0x55978719a745]
>
/some/path/bin/traffic_server(HttpSM::set_next_state()+0x32e)[0x5597871b089e]
>
/some/path/bin/traffic_server(HttpSM::send_origin_throttled_response()+0x10e)[0x5597871a2d2e]
>
/some/path/bin/traffic_server(HttpSM::do_http_server_open(bool)+0x12d8)[0x55978719a5c8]
> ```
>
> Why is `HttpSM::do_http_server_open` on the stack twice? We should look at
that.
I think this can happen if the request is going to a parent. When number of
"origin server" grouped connections to a parent reaches maximum, next parent
configured for that origin server.
void
HttpSM::send_origin_throttled_response()
{
// if the request is to a parent proxy, do not reset
// t_state.current.attempts so that another parent or
// NextHop may be tried.
if (t_state.current.request_to != HttpTransact::PARENT_PROXY) {
t_state.current.attempts =
t_state.txn_conf->connect_attempts_max_retries;
}
t_state.current.state = HttpTransact::OUTBOUND_CONGESTION;
call_transact_and_set_next_state(HttpTransact::HandleResponse);
}
----------------------------------------------------------------
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.
For queries about this service, please contact Infrastructure at:
[email protected]