Repository: trafficserver Updated Branches: refs/heads/master a532d6d9d -> 619b0390f
TS-3376: traffic_server failed assert s->current.server->had_connect_fail() Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/619b0390 Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/619b0390 Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/619b0390 Branch: refs/heads/master Commit: 619b0390f711e77b39b82e8791655f7597abbca3 Parents: a532d6d Author: Brian Geffon <[email protected]> Authored: Sun Aug 2 20:35:30 2015 -0700 Committer: Brian Geffon <[email protected]> Committed: Sun Aug 2 20:35:30 2015 -0700 ---------------------------------------------------------------------- proxy/http/HttpTransact.cc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/trafficserver/blob/619b0390/proxy/http/HttpTransact.cc ---------------------------------------------------------------------- diff --git a/proxy/http/HttpTransact.cc b/proxy/http/HttpTransact.cc index b63f8bc..48cf2a0 100644 --- a/proxy/http/HttpTransact.cc +++ b/proxy/http/HttpTransact.cc @@ -3651,6 +3651,11 @@ HttpTransact::handle_response_from_server(State *s) break; case CONNECTION_CLOSED: /* fall through */ + DebugTxn("http_trans", + "[handle_response_from_server] Transaction received a bad response or a partial response, not retrying..."); + SET_VIA_STRING(VIA_DETAIL_SERVER_CONNECT, VIA_DETAIL_SERVER_FAILURE); + handle_server_connection_not_open(s); + break; case PARSE_ERROR: /* fall through */ case BAD_INCOMING_RESPONSE: { @@ -3658,7 +3663,8 @@ HttpTransact::handle_response_from_server(State *s) DebugTxn("http_trans", "[handle_response_from_server] Transaction received a bad response or a partial response, not retrying..."); SET_VIA_STRING(VIA_DETAIL_SERVER_CONNECT, VIA_DETAIL_SERVER_FAILURE); - handle_server_connection_not_open(s); + handle_server_died(s); + s->next_action = SM_ACTION_SEND_ERROR_CACHE_NOOP; break; } case OPEN_RAW_ERROR:
