From ac178eeea569cb5c1f86e57ebe448ac4e15f4cb4 Mon Sep 17 00:00:00 2001 From: Zhen Ye Date: Mon, 21 Oct 2024 11:33:25 +0800 Subject: [PATCH] enhance: make delegator lock critical smaller (#36997) issue: #36804 Signed-off-by: chyezh --- internal/querynodev2/delegator/delegator_data.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/querynodev2/delegator/delegator_data.go b/internal/querynodev2/delegator/delegator_data.go index 092dcd55d8..33ea916414 100644 --- a/internal/querynodev2/delegator/delegator_data.go +++ b/internal/querynodev2/delegator/delegator_data.go @@ -878,6 +878,9 @@ func (sd *shardDelegator) ReleaseSegments(ctx context.Context, req *querypb.Rele case querypb.DataScope_Historical: sealed = lo.Map(req.GetSegmentIDs(), convertSealed) } + signal := sd.distribution.RemoveDistributions(sealed, growing) + // wait cleared signal + <-signal if len(growing) > 0 { sd.growingSegmentLock.Lock() @@ -893,9 +896,6 @@ func (sd *shardDelegator) ReleaseSegments(ctx context.Context, req *querypb.Rele }) sd.AddExcludedSegments(droppedInfos) - signal := sd.distribution.RemoveDistributions(sealed, growing) - // wait cleared signal - <-signal if len(sealed) > 0 { sd.pkOracle.Remove( pkoracle.WithSegmentIDs(lo.Map(sealed, func(entry SegmentEntry, _ int) int64 { return entry.SegmentID })...),