From: Willy Tarreau Date: Tue, 22 Jun 2021 15:31:51 +0000 (+0200) Subject: CLEANUP: backend: remove impossible case of round-robin + consistent hash X-Git-Tag: v2.5-dev1~47 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5ffb045ed12f14a0367bcb0aa39931806c84357a;p=thirdparty%2Fhaproxy.git CLEANUP: backend: remove impossible case of round-robin + consistent hash In 1.4, consistent hashing was brought by commit 6b2e11be1 ("[MEDIUM] backend: implement consistent hashing variation") which took care of replacing all direct calls to map_get_server_rr() with an alternate call to chash_get_next_server() if consistent hash was being used. One of them, however, cannot happen because a preliminary test for static round-robin is being done prior to the call, so we're certain that if it matches it cannot use a consistent hash tree. Let's remove it. --- diff --git a/src/backend.c b/src/backend.c index 2041c430e2..f5fec1d8ad 100644 --- a/src/backend.c +++ b/src/backend.c @@ -679,10 +679,9 @@ int assign_server(struct stream *s) case BE_LB_LKUP_CHTREE: case BE_LB_LKUP_MAP: if ((s->be->lbprm.algo & BE_LB_KIND) == BE_LB_KIND_RR) { + /* static-rr (map) or random (chash) */ if ((s->be->lbprm.algo & BE_LB_PARM) == BE_LB_RR_RANDOM) srv = get_server_rnd(s, prev_srv); - else if ((s->be->lbprm.algo & BE_LB_LKUP) == BE_LB_LKUP_CHTREE) - srv = chash_get_next_server(s->be, prev_srv); else srv = map_get_server_rr(s->be, prev_srv); break;