From 5ffb045ed12f14a0367bcb0aa39931806c84357a Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Tue, 22 Jun 2021 17:31:51 +0200 Subject: [PATCH] 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. --- src/backend.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/backend.c b/src/backend.c index 2041c430e..f5fec1d8a 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;