From 3bd7ec875148421be1c18fe6483766439778d35d Mon Sep 17 00:00:00 2001 From: wei liu Date: Tue, 24 Sep 2024 17:01:14 +0800 Subject: [PATCH] fix: Fix cornor case that segment can't be move out from stopping node (#36431) issue: #36426 the old constriant requires only segment on current target can be balanced, which is wrong, and caused that segment can't be move out from stopping node, if it's only exist in next target. by design, stopping balance need to move out all segment on it by balance task, thus the unfair old constriant should be removed. Signed-off-by: Wei Liu --- internal/querycoordv2/task/scheduler.go | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/internal/querycoordv2/task/scheduler.go b/internal/querycoordv2/task/scheduler.go index 4d5acd970e..4dd3561305 100644 --- a/internal/querycoordv2/task/scheduler.go +++ b/internal/querycoordv2/task/scheduler.go @@ -941,12 +941,7 @@ func (scheduler *taskScheduler) checkSegmentTaskStale(task *SegmentTask) error { return merr.WrapErrNodeOffline(action.Node()) } taskType := GetTaskType(task) - var segment *datapb.SegmentInfo - if taskType == TaskTypeMove || taskType == TaskTypeUpdate { - segment = scheduler.targetMgr.GetSealedSegment(task.CollectionID(), task.SegmentID(), meta.CurrentTarget) - } else { - segment = scheduler.targetMgr.GetSealedSegment(task.CollectionID(), task.SegmentID(), meta.NextTargetFirst) - } + segment := scheduler.targetMgr.GetSealedSegment(task.CollectionID(), task.SegmentID(), meta.CurrentTargetFirst) if segment == nil { log.Warn("task stale due to the segment to load not exists in targets", zap.Int64("segment", task.segmentID),