BUG: MAJOR: lb_map: server map calculation broken
Adrian Williams reported that several balancing methods were broken and
sent all requests to one backend. This is a regression in haproxy 1.8 where
the server score was not correctly recalculated.
This fix must be backported to the 1.8 branch.
diff --git a/src/lb_map.c b/src/lb_map.c
index ecab4de..a1e1d34 100644
--- a/src/lb_map.c
+++ b/src/lb_map.c
@@ -122,7 +122,7 @@
}
}
px->lbprm.map.srv[o] = best;
- HA_ATOMIC_ADD(&best->wscore, tot);
+ HA_ATOMIC_SUB(&best->wscore, tot);
}
}