From 45e26c63a5998480d6bba40cccf43f84162c6446 Mon Sep 17 00:00:00 2001 From: MassimilianoPinto Date: Mon, 9 Jan 2017 18:16:10 +0100 Subject: [PATCH] Fix for bref_cmp_current_load() algorithm. Fix for bref_cmp_current_load() algorithm when weight is present --- .../modules/routing/readwritesplit/rwsplit_select_backends.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/server/modules/routing/readwritesplit/rwsplit_select_backends.c b/server/modules/routing/readwritesplit/rwsplit_select_backends.c index 5096c04a9..31c45cee8 100644 --- a/server/modules/routing/readwritesplit/rwsplit_select_backends.c +++ b/server/modules/routing/readwritesplit/rwsplit_select_backends.c @@ -401,8 +401,8 @@ static int bref_cmp_current_load(const void *bref1, const void *bref2) return -1; } - return ((1000 * b1->server->stats.n_current_ops) - b1->weight) - - ((1000 * b2->server->stats.n_current_ops) - b2->weight); + return ((1000 + 1000 * b1->server->stats.n_current_ops) / b1->weight) - + ((1000 + 1000 * b2->server->stats.n_current_ops) / b2->weight); } /**