From 545e8de4014fe7fefd986a04c9de22d0907c3c65 Mon Sep 17 00:00:00 2001 From: wei liu Date: Wed, 28 Feb 2024 13:14:59 +0800 Subject: [PATCH] fix: promote leader task failed when segment only exist on current target (#30794) issue: #30150 `checkLeaderTaskStale` will check segment whether exist on next current for leaderTask's growing action, which will cause promote leader task failed when segment only exist on current target This PR will check segment for both current or next target. 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 75c197fff6..7a8504fd35 100644 --- a/internal/querycoordv2/task/scheduler.go +++ b/internal/querycoordv2/task/scheduler.go @@ -918,12 +918,7 @@ func (scheduler *taskScheduler) checkLeaderTaskStale(task *LeaderTask) error { switch action.Type() { case ActionTypeGrow: 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.NextTarget) - } + 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),