mirror of https://github.com/milvus-io/milvus.git
enhance: use Delete instead of DeletePartialMatch to remove metrics (#33029)
Signed-off-by: jaime <yun.zhang@zilliz.com>pull/33027/head^2
parent
89a7c34c7a
commit
f48a7ff8ff
|
@ -176,8 +176,20 @@ func (m *meta) AddCollection(collection *collectionInfo) {
|
|||
// DropCollection drop a collection from meta
|
||||
func (m *meta) DropCollection(collectionID int64) {
|
||||
log.Info("meta update: drop collection", zap.Int64("collectionID", collectionID))
|
||||
segments := m.SelectSegments(WithCollection(collectionID))
|
||||
m.Lock()
|
||||
defer m.Unlock()
|
||||
coll, ok := m.collections[collectionID]
|
||||
if ok {
|
||||
metrics.CleanupDataCoordNumStoredRows(coll.DatabaseName, collectionID)
|
||||
metrics.CleanupDataCoordBulkInsertVectors(coll.DatabaseName, collectionID)
|
||||
for _, seg := range segments {
|
||||
metrics.CleanupDataCoordSegmentMetrics(coll.DatabaseName, collectionID, seg.ID)
|
||||
}
|
||||
} else {
|
||||
log.Warn("not found database name", zap.Int64("collectionID", collectionID))
|
||||
}
|
||||
|
||||
delete(m.collections, collectionID)
|
||||
metrics.DataCoordNumCollections.WithLabelValues().Set(float64(len(m.collections)))
|
||||
log.Info("meta update: drop collection - complete", zap.Int64("collectionID", collectionID))
|
||||
|
@ -321,6 +333,8 @@ func (m *meta) GetCollectionBinlogSize() (int64, map[UniqueID]int64, map[UniqueI
|
|||
|
||||
// GetCollectionIndexFilesSize returns the total index files size of all segment for each collection.
|
||||
func (m *meta) GetCollectionIndexFilesSize() uint64 {
|
||||
m.RLock()
|
||||
defer m.RUnlock()
|
||||
var total uint64
|
||||
for _, segmentIdx := range m.indexMeta.GetAllSegIndexes() {
|
||||
coll, ok := m.collections[segmentIdx.CollectionID]
|
||||
|
@ -385,6 +399,11 @@ func (m *meta) DropSegment(segmentID UniqueID) error {
|
|||
return err
|
||||
}
|
||||
metrics.DataCoordNumSegments.WithLabelValues(segment.GetState().String(), segment.GetLevel().String()).Dec()
|
||||
coll, ok := m.collections[segment.CollectionID]
|
||||
if ok {
|
||||
metrics.CleanupDataCoordSegmentMetrics(coll.DatabaseName, segment.CollectionID, segment.ID)
|
||||
}
|
||||
|
||||
m.segments.DropSegment(segmentID)
|
||||
log.Info("meta update: dropping segment - complete",
|
||||
zap.Int64("segmentID", segmentID))
|
||||
|
|
|
@ -586,7 +586,6 @@ func (s *Server) DropVirtualChannel(ctx context.Context, req *datapb.DropVirtual
|
|||
return resp, nil
|
||||
}
|
||||
|
||||
var collectionID int64
|
||||
segments := make([]*SegmentInfo, 0, len(req.GetSegments()))
|
||||
for _, seg2Drop := range req.GetSegments() {
|
||||
info := &datapb.SegmentInfo{
|
||||
|
@ -602,7 +601,6 @@ func (s *Server) DropVirtualChannel(ctx context.Context, req *datapb.DropVirtual
|
|||
}
|
||||
segment := NewSegmentInfo(info)
|
||||
segments = append(segments, segment)
|
||||
collectionID = seg2Drop.GetCollectionID()
|
||||
}
|
||||
|
||||
err := s.meta.UpdateDropChannelSegmentInfo(channel, segments)
|
||||
|
@ -619,11 +617,7 @@ func (s *Server) DropVirtualChannel(ctx context.Context, req *datapb.DropVirtual
|
|||
}
|
||||
s.segmentManager.DropSegmentsOfChannel(ctx, channel)
|
||||
s.compactionHandler.removeTasksByChannel(channel)
|
||||
|
||||
metrics.CleanupDataCoordNumStoredRows(collectionID)
|
||||
metrics.DataCoordCheckpointUnixSeconds.DeleteLabelValues(fmt.Sprint(paramtable.GetNodeID()), channel)
|
||||
metrics.CleanupDataCoordBulkInsertVectors(collectionID)
|
||||
|
||||
// no compaction triggered in Drop procedure
|
||||
return resp, nil
|
||||
}
|
||||
|
|
|
@ -445,7 +445,6 @@ func (kc *Catalog) DropSegment(ctx context.Context, segment *datapb.SegmentInfo)
|
|||
return err
|
||||
}
|
||||
|
||||
metrics.CleanupDataCoordSegmentMetrics(segment.CollectionID, segment.ID)
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
|
@ -322,34 +322,38 @@ func RegisterDataCoord(registry *prometheus.Registry) {
|
|||
registry.MustRegister(GarbageCollectorRunCount)
|
||||
}
|
||||
|
||||
func CleanupDataCoordSegmentMetrics(collectionID int64, segmentID int64) {
|
||||
func CleanupDataCoordSegmentMetrics(dbName string, collectionID int64, segmentID int64) {
|
||||
DataCoordSegmentBinLogFileCount.
|
||||
Delete(
|
||||
prometheus.Labels{
|
||||
collectionIDLabelName: fmt.Sprint(collectionID),
|
||||
segmentIDLabelName: fmt.Sprint(segmentID),
|
||||
})
|
||||
DataCoordStoredBinlogSize.DeletePartialMatch(prometheus.Labels{
|
||||
DataCoordStoredBinlogSize.Delete(prometheus.Labels{
|
||||
databaseLabelName: dbName,
|
||||
collectionIDLabelName: fmt.Sprint(collectionID),
|
||||
segmentIDLabelName: fmt.Sprint(segmentID),
|
||||
})
|
||||
DataCoordStoredIndexFilesSize.DeletePartialMatch(prometheus.Labels{
|
||||
DataCoordStoredIndexFilesSize.Delete(prometheus.Labels{
|
||||
databaseLabelName: dbName,
|
||||
collectionIDLabelName: fmt.Sprint(collectionID),
|
||||
segmentIDLabelName: fmt.Sprint(segmentID),
|
||||
})
|
||||
}
|
||||
|
||||
func CleanupDataCoordNumStoredRows(collectionID int64) {
|
||||
func CleanupDataCoordNumStoredRows(dbName string, collectionID int64) {
|
||||
for _, state := range commonpb.SegmentState_name {
|
||||
DataCoordNumStoredRows.DeletePartialMatch(prometheus.Labels{
|
||||
DataCoordNumStoredRows.Delete(prometheus.Labels{
|
||||
databaseLabelName: dbName,
|
||||
collectionIDLabelName: fmt.Sprint(collectionID),
|
||||
segmentStateLabelName: fmt.Sprint(state),
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
func CleanupDataCoordBulkInsertVectors(collectionID int64) {
|
||||
DataCoordBulkVectors.DeletePartialMatch(prometheus.Labels{
|
||||
func CleanupDataCoordBulkInsertVectors(dbName string, collectionID int64) {
|
||||
DataCoordBulkVectors.Delete(prometheus.Labels{
|
||||
databaseLabelName: dbName,
|
||||
collectionIDLabelName: fmt.Sprint(collectionID),
|
||||
})
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue