diff --git a/internal/datacoord/meta.go b/internal/datacoord/meta.go index 53f6fb4d54..92e367ad72 100644 --- a/internal/datacoord/meta.go +++ b/internal/datacoord/meta.go @@ -2190,8 +2190,8 @@ func (m *meta) getSegmentsMetrics(collectionID int64) []*metricsinfo.Segment { } func (m *meta) DropSegmentsOfPartition(ctx context.Context, partitionIDs []int64) error { - m.segMu.RLock() - defer m.segMu.RUnlock() + m.segMu.Lock() + defer m.segMu.Unlock() // Filter out the segments of the partition to be dropped. metricMutation := &segMetricMutation{ diff --git a/internal/flushcommon/syncmgr/meta_writer.go b/internal/flushcommon/syncmgr/meta_writer.go index 90b84063b6..478cefe8cb 100644 --- a/internal/flushcommon/syncmgr/meta_writer.go +++ b/internal/flushcommon/syncmgr/meta_writer.go @@ -193,6 +193,10 @@ func (b *brokerMetaWriter) NotifyDropPartition(ctx context.Context, collectionID return false, nil }, b.opts...) if err != nil { + if errors.Is(err, merr.ErrServiceUnimplemented) { + log.Info("NotifyDropPartition is not supported, skip") + return nil + } log.Warn("failed to notify drop partition", zap.String("channel", channelName), zap.Int64("collectionID", collectionID),