From a90e28cf453c243e3473785b6054a319a77f7119 Mon Sep 17 00:00:00 2001 From: SimFG Date: Thu, 27 Oct 2022 19:39:31 +0800 Subject: [PATCH] Fix `sessions` concurrency problem (#20140) Signed-off-by: SimFG Signed-off-by: SimFG --- internal/datacoord/session_manager.go | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/internal/datacoord/session_manager.go b/internal/datacoord/session_manager.go index 22e0b8c89c..ca27bae0bd 100644 --- a/internal/datacoord/session_manager.go +++ b/internal/datacoord/session_manager.go @@ -237,13 +237,11 @@ func (c *SessionManager) execReCollectSegmentStats(ctx context.Context, nodeID i func (c *SessionManager) GetCompactionState() map[int64]*datapb.CompactionStateResult { wg := sync.WaitGroup{} ctx := context.Background() - c.sessions.RLock() - wg.Add(len(c.sessions.data)) - c.sessions.RUnlock() plans := sync.Map{} c.sessions.RLock() for nodeID, s := range c.sessions.data { + wg.Add(1) go func(nodeID int64, s *Session) { defer wg.Done() cli, err := s.GetOrCreateClient(ctx)