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>
pull/41329/head
cai.zhang 2025-04-15 18:08:32 +08:00 committed by GitHub
parent 699f8a6ada
commit 3e06b2c9e7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 5 additions and 3 deletions

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