From 8934672687d17c7e460d5e702fb0917f737fd66e Mon Sep 17 00:00:00 2001 From: congqixia Date: Fri, 24 Jan 2025 18:21:06 +0800 Subject: [PATCH] enhance: [2.5] Skip update index metrics if index dropped (#39458) (#39572) Cherry-pick from master pr: #39458 Related to #39457 Signed-off-by: Congqi Xia --- internal/datacoord/index_meta.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/internal/datacoord/index_meta.go b/internal/datacoord/index_meta.go index 981d0830a9..60b59080d3 100644 --- a/internal/datacoord/index_meta.go +++ b/internal/datacoord/index_meta.go @@ -214,7 +214,7 @@ func (m *indexMeta) updateIndexTasksMetrics() { defer m.lastUpdateMetricTime.Store(time.Now()) taskMetrics := make(map[UniqueID]map[commonpb.IndexState]int) for _, segIdx := range m.segmentBuildInfo.List() { - if segIdx.IsDeleted { + if segIdx.IsDeleted || !m.isIndexExist(segIdx.CollectionID, segIdx.IndexID) { continue } if _, ok := taskMetrics[segIdx.CollectionID]; !ok { @@ -756,6 +756,10 @@ func (m *indexMeta) IsIndexExist(collID, indexID UniqueID) bool { m.RLock() defer m.RUnlock() + return m.isIndexExist(collID, indexID) +} + +func (m *indexMeta) isIndexExist(collID, indexID UniqueID) bool { fieldIndexes, ok := m.indexes[collID] if !ok { return false