From f9422d60aabb85ca56659025fda3dae2dc8340f3 Mon Sep 17 00:00:00 2001 From: Jebbs Date: Thu, 20 Oct 2022 12:00:21 +0800 Subject: [PATCH] fix selectLeastLoad() returns wrong number of nodes (#2083) --- app/router/strategy_leastload.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/router/strategy_leastload.go b/app/router/strategy_leastload.go index b9a7071f0..34025e890 100644 --- a/app/router/strategy_leastload.go +++ b/app/router/strategy_leastload.go @@ -118,8 +118,8 @@ func (l *LeastLoadStrategy) selectLeastLoad(nodes []*node) []*node { // go through all base line until find expected selects for _, b := range l.settings.Baselines { baseline := time.Duration(b) - for i := 0; i < availableCount; i++ { - if nodes[i].RTTDeviationCost > baseline { + for i := count; i < availableCount; i++ { + if nodes[i].RTTDeviationCost >= baseline { break } count = i + 1