From fad8f0afa56c5c775380fa112f8b6aaa565e7fa0 Mon Sep 17 00:00:00 2001 From: wei liu Date: Wed, 8 May 2024 10:15:29 +0800 Subject: [PATCH] enhance: enable stopping balance after balance has been suspended (#32812) issue: #32811 Signed-off-by: Wei Liu --- internal/querycoordv2/checkers/balance_checker.go | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/internal/querycoordv2/checkers/balance_checker.go b/internal/querycoordv2/checkers/balance_checker.go index 2aa55a20c8..1b268cf4e0 100644 --- a/internal/querycoordv2/checkers/balance_checker.go +++ b/internal/querycoordv2/checkers/balance_checker.go @@ -116,10 +116,12 @@ func (b *BalanceChecker) replicasToBalance() []int64 { } } - // no stopping balance and auto balance is disabled, return empty collections for balance - if !Params.QueryCoordCfg.AutoBalance.GetAsBool() { + // 1. no stopping balance and auto balance is disabled, return empty collections for balance + // 2. when balancer isn't active, skip auto balance + if !Params.QueryCoordCfg.AutoBalance.GetAsBool() || !b.IsActive() { return nil } + // scheduler is handling segment task, skip if b.scheduler.GetSegmentTaskNum() != 0 { return nil @@ -168,9 +170,6 @@ func (b *BalanceChecker) balanceReplicas(replicaIDs []int64) ([]balance.SegmentA } func (b *BalanceChecker) Check(ctx context.Context) []task.Task { - if !b.IsActive() { - return nil - } ret := make([]task.Task, 0) replicasToBalance := b.replicasToBalance()