fix: [2.5] Fix panic with nil pointer dereference when get indexed segment (#41299)

issue: #41288 
master pr: #41297

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
This commit is contained in:
cai.zhang 2025-04-15 18:08:32 +08:00 committed by Li Liu
parent 6aeea93e01
commit f3a03d338d

View File

@ -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,
})
}
}