forked from openresty/openresty
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feature: more patch for balancer_pool_max_retry.
- Loading branch information
1 parent
3636b19
commit cc86d58
Showing
3 changed files
with
81 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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; |