]> git.kaiwu.me - nginx.git/commitdiff
Stream: fixed logging UDP upstream timeout.
authorRoman Arutyunyan <arut@nginx.com>
Tue, 12 Sep 2017 10:44:04 +0000 (13:44 +0300)
committerRoman Arutyunyan <arut@nginx.com>
Tue, 12 Sep 2017 10:44:04 +0000 (13:44 +0300)
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.

src/stream/ngx_stream_proxy_module.c

index 395e0f6503bd0a9cf170e1ca5d64f0feab8845a4..9d4b075fb22859e1924b0e1d115c159c758dfcfe 100644 (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;
         }