mirror of https://github.com/openresty/openresty
bugfix: respect max retry after using balancer pool.
Signed-off-by: tzssangglass <tzssangglass@gmail.com>pull/987/head
parent
09efae3e6a
commit
3636b199e5
@ -0,0 +1,27 @@
|
|||||||
|
diff --git a/src/http/ngx_http_upstream.c b/src/http/ngx_http_upstream.c
|
||||||
|
index d04d91e..397cb08 100644
|
||||||
|
--- a/src/http/ngx_http_upstream.c
|
||||||
|
+++ b/src/http/ngx_http_upstream.c
|
||||||
|
@@ -4378,6 +4378,9 @@ ngx_http_upstream_next(ngx_http_request_t *r, ngx_http_upstream_t *u,
|
||||||
|
if (u->peer.cached && ft_type == NGX_HTTP_UPSTREAM_FT_ERROR) {
|
||||||
|
/* TODO: inform balancer instead */
|
||||||
|
u->peer.tries++;
|
||||||
|
+ if (u->peer.notify) {
|
||||||
|
+ u->peer.notify(&u->peer, u->peer.data, NGX_HTTP_UPSTREAM_NOTIFY_CACHED_CONNECTION_ERROR);
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (ft_type) {
|
||||||
|
diff --git a/src/http/ngx_http_upstream.h b/src/http/ngx_http_upstream.h
|
||||||
|
index f6621af..2b5957e 100644
|
||||||
|
--- a/src/http/ngx_http_upstream.h
|
||||||
|
+++ b/src/http/ngx_http_upstream.h
|
||||||
|
@@ -55,6 +55,8 @@
|
||||||
|
#define NGX_HTTP_UPSTREAM_IGN_XA_CHARSET 0x00000100
|
||||||
|
#define NGX_HTTP_UPSTREAM_IGN_VARY 0x00000200
|
||||||
|
|
||||||
|
+#define NGX_HTTP_UPSTREAM_NOTIFY_CACHED_CONNECTION_ERROR 0x1
|
||||||
|
+
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
ngx_uint_t status;
|
Loading…
Reference in New Issue