From f3a03d338d6d2a6644b9b98f0ffe8d7563644dee Mon Sep 17 00:00:00 2001 From: "cai.zhang" Date: Tue, 15 Apr 2025 18:08:32 +0800 Subject: [PATCH] fix: [2.5] Fix panic with nil pointer dereference when get indexed segment (#41299) issue: #41288 master pr: #41297 Signed-off-by: Cai Zhang --- internal/datacoord/index_meta.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/internal/datacoord/index_meta.go b/internal/datacoord/index_meta.go index adbe85949e..998f1c6ad6 100644 --- a/internal/datacoord/index_meta.go +++ b/internal/datacoord/index_meta.go @@ -1196,18 +1196,20 @@ func (m *indexMeta) GetSegmentIndexedFields(collectionID UniqueID, segmentID Uni for _, index := range fieldIndexes { if si, ok := segIndexInfos.Get(index.IndexID); !index.IsDeleted { buildID := int64(-1) - if !ok { + serializedSize := int64(0) + if !ok || si == nil { // the segment should be unindexed status if the segment index is not found within field indexes isIndexed = false } else { buildID = si.BuildID + serializedSize = int64(si.IndexSerializedSize) } segmentIndexes = append(segmentIndexes, &metricsinfo.IndexedField{ - IndexFieldID: index.IndexID, + IndexFieldID: index.FieldID, IndexID: index.IndexID, BuildID: buildID, - IndexSize: int64(si.IndexSerializedSize), + IndexSize: serializedSize, }) } }