From 54cc0b60f28fa4aacc9aa720d4ae79c7093b8872 Mon Sep 17 00:00:00 2001 From: aoiasd <45024769+aoiasd@users.noreply.github.com> Date: Tue, 8 Jul 2025 18:04:46 +0800 Subject: [PATCH] fix: dropped segment in excluded segment use wrong excluded ts (#43115) cause some excluded growing data insert again relate: https://github.com/milvus-io/milvus/issues/43114 Signed-off-by: aoiasd --- internal/querynodev2/delegator/delegator_data.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/internal/querynodev2/delegator/delegator_data.go b/internal/querynodev2/delegator/delegator_data.go index 5ba8393484..37b36b5616 100644 --- a/internal/querynodev2/delegator/delegator_data.go +++ b/internal/querynodev2/delegator/delegator_data.go @@ -139,7 +139,13 @@ func (sd *shardDelegator) ProcessInsert(insertRecords map[int64]*InsertData) { if newGrowingSegment { sd.growingSegmentLock.Lock() // check whether segment has been excluded - if ok := sd.VerifyExcludedSegments(segmentID, typeutil.MaxTimestamp); !ok { + // all segment in excluded segment should not be add again + // don not check excluded ts + // because dropped segment in excluded segment may use wrong excluded ts + // which use checkpoint ts as excluded ts + // but checkpoint_ts < segment_end_ts cause exclueded data is not filtered out at filter node + // should be excluded here + if ok := sd.VerifyExcludedSegments(segmentID, 0); !ok { log.Warn("try to insert data into released segment, skip it", zap.Int64("segmentID", segmentID)) sd.growingSegmentLock.Unlock() growing.Release(context.Background())