Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 371912 Details for
Bug 503414
www-servers/nginx-1.5.13 version bump
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
upstream-check-1.5.11.patch
upstream-check-1.5.11.patch (text/plain), 6.64 KB, created by
Johan Bergström
on 2014-03-06 22:20:33 UTC
(
hide
)
Description:
upstream-check-1.5.11.patch
Filename:
MIME Type:
Creator:
Johan Bergström
Created:
2014-03-06 22:20:33 UTC
Size:
6.64 KB
patch
obsolete
>diff --git a/src/http/modules/ngx_http_upstream_ip_hash_module.c b/src/http/modules/ngx_http_upstream_ip_hash_module.c >index 041883f..db7791f 100644 >--- a/src/http/modules/ngx_http_upstream_ip_hash_module.c >+++ b/src/http/modules/ngx_http_upstream_ip_hash_module.c >@@ -9,6 +9,10 @@ > #include <ngx_core.h> > #include <ngx_http.h> > >+#if (NGX_UPSTREAM_CHECK_MODULE) >+#include "ngx_http_upstream_check_handler.h" >+#endif >+ > > typedef struct { > /* the round robin data must be first */ >@@ -212,6 +216,15 @@ ngx_http_upstream_get_ip_hash_peer(ngx_peer_connection_t *pc, void *data) > goto next_try; > } > >+#if (NGX_UPSTREAM_CHECK_MODULE) >+ ngx_log_debug1(NGX_LOG_DEBUG_HTTP, pc->log, 0, >+ "get ip_hash peer, check_index: %ui", >+ peer->check_index); >+ if (ngx_http_check_peer_down(peer->check_index)) { >+ goto next_try; >+ } >+#endif >+ > if (peer->max_fails > && peer->fails >= peer->max_fails > && now - peer->checked <= peer->fail_timeout) >diff --git a/src/http/modules/ngx_http_upstream_least_conn_module.c b/src/http/modules/ngx_http_upstream_least_conn_module.c >index dbef95d..e080682 100644 >--- a/src/http/modules/ngx_http_upstream_least_conn_module.c >+++ b/src/http/modules/ngx_http_upstream_least_conn_module.c >@@ -9,6 +9,10 @@ > #include <ngx_core.h> > #include <ngx_http.h> > >+#if (NGX_UPSTREAM_CHECK_MODULE) >+#include "ngx_http_upstream_check_handler.h" >+#endif >+ > > typedef struct { > ngx_uint_t *conns; >@@ -203,6 +207,16 @@ ngx_http_upstream_get_least_conn_peer(ngx_peer_connection_t *pc, void *data) > continue; > } > >+#if (NGX_UPSTREAM_CHECK_MODULE) >+ ngx_log_debug1(NGX_LOG_DEBUG_HTTP, pc->log, 0, >+ "get least_conn peer, check_index: %ui", >+ peer->check_index); >+ >+ if (ngx_http_check_peer_down(peer->check_index)) { >+ continue; >+ } >+#endif >+ > if (peer->max_fails > && peer->fails >= peer->max_fails > && now - peer->checked <= peer->fail_timeout) >@@ -256,6 +270,16 @@ ngx_http_upstream_get_least_conn_peer(ngx_peer_connection_t *pc, void *data) > continue; > } > >+#if (NGX_UPSTREAM_CHECK_MODULE) >+ ngx_log_debug1(NGX_LOG_DEBUG_HTTP, pc->log, 0, >+ "get least_conn peer, check_index: %ui", >+ peer->check_index); >+ >+ if (ngx_http_check_peer_down(peer->check_index)) { >+ continue; >+ } >+#endif >+ > if (lcp->conns[i] * best->weight != lcp->conns[p] * peer->weight) { > continue; > } >diff --git a/src/http/ngx_http_upstream_round_robin.c b/src/http/ngx_http_upstream_round_robin.c >index 85ff558..25d74be 100644 >--- a/src/http/ngx_http_upstream_round_robin.c >+++ b/src/http/ngx_http_upstream_round_robin.c >@@ -9,6 +9,9 @@ > #include <ngx_core.h> > #include <ngx_http.h> > >+#if (NGX_UPSTREAM_CHECK_MODULE) >+#include "ngx_http_upstream_check_handler.h" >+#endif > > static ngx_http_upstream_rr_peer_t *ngx_http_upstream_get_peer( > ngx_http_upstream_rr_peer_data_t *rrp); >@@ -85,6 +88,16 @@ ngx_http_upstream_init_round_robin(ngx_conf_t *cf, > peers->peer[n].max_fails = server[i].max_fails; > peers->peer[n].fail_timeout = server[i].fail_timeout; > peers->peer[n].down = server[i].down; >+ >+#if (NGX_UPSTREAM_CHECK_MODULE) >+ if (!server[i].down) { >+ peers->peer[n].check_index = >+ ngx_http_check_add_peer(cf, us, &server[i].addrs[j]); >+ } >+ else { >+ peers->peer[n].check_index = (ngx_uint_t) NGX_ERROR; >+ } >+#endif > n++; > } > } >@@ -139,6 +152,17 @@ ngx_http_upstream_init_round_robin(ngx_conf_t *cf, > backup->peer[n].max_fails = server[i].max_fails; > backup->peer[n].fail_timeout = server[i].fail_timeout; > backup->peer[n].down = server[i].down; >+ >+#if (NGX_UPSTREAM_CHECK_MODULE) >+ if (!server[i].down) { >+ backup->peer[n].check_index = >+ ngx_http_check_add_peer(cf, us, &server[i].addrs[j]); >+ } >+ else { >+ backup->peer[n].check_index = (ngx_uint_t) NGX_ERROR; >+ } >+#endif >+ > n++; > } > } >@@ -196,6 +220,9 @@ ngx_http_upstream_init_round_robin(ngx_conf_t *cf, > peers->peer[i].current_weight = 0; > peers->peer[i].max_fails = 1; > peers->peer[i].fail_timeout = 10; >+#if (NGX_UPSTREAM_CHECK_MODULE) >+ peers->peer[i].check_index = (ngx_uint_t) NGX_ERROR; >+#endif > } > > us->peer.data = peers; >@@ -302,6 +329,9 @@ ngx_http_upstream_create_round_robin_peer(ngx_http_request_t *r, > peers->peer[0].current_weight = 0; > peers->peer[0].max_fails = 1; > peers->peer[0].fail_timeout = 10; >+#if (NGX_UPSTREAM_CHECK_MODULE) >+ peers->peer[0].check_index = (ngx_uint_t) NGX_ERROR; >+#endif > > } else { > >@@ -342,6 +372,9 @@ ngx_http_upstream_create_round_robin_peer(ngx_http_request_t *r, > peers->peer[i].current_weight = 0; > peers->peer[i].max_fails = 1; > peers->peer[i].fail_timeout = 10; >+#if (NGX_UPSTREAM_CHECK_MODULE) >+ peers->peer[i].check_index = (ngx_uint_t) NGX_ERROR; >+#endif > } > } > >@@ -399,6 +432,12 @@ ngx_http_upstream_get_round_robin_peer(ngx_peer_connection_t *pc, void *data) > goto failed; > } > >+#if (NGX_UPSTREAM_CHECK_MODULE) >+ if (ngx_http_check_peer_down(peer->check_index)) { >+ goto failed; >+ } >+#endif >+ > } else { > > /* there are several peers */ >@@ -498,6 +537,12 @@ ngx_http_upstream_get_peer(ngx_http_upstream_rr_peer_data_t *rrp) > continue; > } > >+#if (NGX_UPSTREAM_CHECK_MODULE) >+ if (ngx_http_check_peer_down(peer->check_index)) { >+ continue; >+ } >+#endif >+ > if (peer->max_fails > && peer->fails >= peer->max_fails > && now - peer->checked <= peer->fail_timeout) >diff --git a/src/http/ngx_http_upstream_round_robin.h b/src/http/ngx_http_upstream_round_robin.h >index ea90ab9..ccff3c2 100644 >--- a/src/http/ngx_http_upstream_round_robin.h >+++ b/src/http/ngx_http_upstream_round_robin.h >@@ -30,6 +30,10 @@ typedef struct { > ngx_uint_t max_fails; > time_t fail_timeout; > >+#if (NGX_UPSTREAM_CHECK_MODULE) >+ ngx_uint_t check_index; >+#endif >+ > ngx_uint_t down; /* unsigned down:1; */ > > #if (NGX_HTTP_SSL)
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 503414
: 371912 |
371914
|
371922
|
372234
|
372538
|
373164
|
373166
|
374646