mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-02-14 17:37:46 +00:00
BUG/MINOR: use the same check condition for server as other algorithms
Such load balance algorithms as roundrobin, leastconn and first will check the server after being selected with the following condition: if (!s->maxconn || (!s->nbpend && s->served < srv_dynamic_maxconn(s))) But static-rr uses the different one in map_get_server_rr() as below: if (!srv->maxconn || srv->cur_sess < srv_dynamic_maxconn(srv)) After viewing this difference, it is a better choice for static-rr to use the same check condition as other algorithms. This change will only affect static-rr. Though all hash algorithms with type map-based will use the same server map as static-rr, they call another function map_get_server_hash() to get server. Signed-off-by: Godbach <nylzhaowei@gmail.com>
This commit is contained in:
parent
00f0084752
commit
8f9fd2f0a0
@ -229,7 +229,7 @@ struct server *map_get_server_rr(struct proxy *px, struct server *srvtoavoid)
|
||||
avoididx = 0; /* shut a gcc warning */
|
||||
do {
|
||||
srv = px->lbprm.map.srv[newidx++];
|
||||
if (!srv->maxconn || srv->cur_sess < srv_dynamic_maxconn(srv)) {
|
||||
if (!srv->maxconn || (!srv->nbpend && srv->served < srv_dynamic_maxconn(srv))) {
|
||||
/* make sure it is not the server we are try to exclude... */
|
||||
if (srv != srvtoavoid) {
|
||||
px->lbprm.map.rr_idx = newidx;
|
||||
|
Loading…
Reference in New Issue
Block a user