From e42c944e040e25e4fbfa74f5f6178bce45a2cd86 Mon Sep 17 00:00:00 2001 From: wei liu Date: Fri, 21 Feb 2025 11:19:58 +0800 Subject: [PATCH] fix: [2.5] querycoord panic in cornor case (#40058) issue: #40050 pr: #40057 Signed-off-by: Wei Liu --- internal/querycoordv2/checkers/segment_checker.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/internal/querycoordv2/checkers/segment_checker.go b/internal/querycoordv2/checkers/segment_checker.go index 5a9a499a60..e9d0f25c5f 100644 --- a/internal/querycoordv2/checkers/segment_checker.go +++ b/internal/querycoordv2/checkers/segment_checker.go @@ -369,6 +369,9 @@ func (c *SegmentChecker) filterExistedOnLeader(replica *meta.Replica, segments [ } view := c.dist.LeaderViewManager.GetLeaderShardView(leaderID, s.GetInsertChannel()) + if view == nil { + continue + } seg, ok := view.Segments[s.GetID()] if ok && seg.NodeID == s.Node { // if this segment is serving on leader, do not remove it for search available @@ -388,6 +391,9 @@ func (c *SegmentChecker) filterSegmentInUse(ctx context.Context, replica *meta.R } view := c.dist.LeaderViewManager.GetLeaderShardView(leaderID, s.GetInsertChannel()) + if view == nil { + continue + } currentTargetVersion := c.targetMgr.GetCollectionTargetVersion(ctx, s.CollectionID, meta.CurrentTarget) partition := c.meta.CollectionManager.GetPartition(ctx, s.PartitionID)