Stream: fixed logging UDP upstream timeout.

Previously, when the first UDP response packet was not received from the
proxied server within proxy_timeout, no error message was logged before
switching to the next upstream.  Additionally, when one of succeeding response
packets was not received within the timeout, the timeout error had low severity
because it was logged as a client connection error as opposed to upstream
connection error.
This commit is contained in:
Roman Arutyunyan 2017-09-12 13:44:04 +03:00
parent 615f3d6a99
commit 859759d7d3

View file

@ -1331,13 +1331,17 @@ ngx_stream_proxy_process_connection(ngx_event_t *ev, ngx_uint_t from_upstream)
return;
}
ngx_connection_error(pc, NGX_ETIMEDOUT, "upstream timed out");
if (u->received == 0) {
ngx_stream_proxy_next_upstream(s);
return;
}
} else {
ngx_connection_error(c, NGX_ETIMEDOUT, "connection timed out");
}
ngx_connection_error(c, NGX_ETIMEDOUT, "connection timed out");
ngx_stream_proxy_finalize(s, NGX_STREAM_OK);
return;
}