diff --git a/internal/querycoordv2/observers/task_dispatcher.go b/internal/querycoordv2/observers/task_dispatcher.go index 720d415422..29ede76b1b 100644 --- a/internal/querycoordv2/observers/task_dispatcher.go +++ b/internal/querycoordv2/observers/task_dispatcher.go @@ -96,12 +96,12 @@ func (d *taskDispatcher[K]) schedule(ctx context.Context) { case <-d.notifyCh: d.tasks.Range(func(k K, submitted bool) bool { if !submitted { + d.tasks.Insert(k, true) d.pool.Submit(func() (any, error) { d.taskRunner(ctx, k) d.tasks.Remove(k) return struct{}{}, nil }) - d.tasks.Insert(k, true) } return true })