diff --git a/internal/querycoordv2/checkers/controller.go b/internal/querycoordv2/checkers/controller.go index 1505f7cd6d..e82cb754d2 100644 --- a/internal/querycoordv2/checkers/controller.go +++ b/internal/querycoordv2/checkers/controller.go @@ -115,6 +115,7 @@ func (controller *CheckerController) check(ctx context.Context) { for _, task := range tasks { err := controller.scheduler.Add(task) if err != nil { + task.Cancel() continue } added++ diff --git a/internal/querycoordv2/handlers.go b/internal/querycoordv2/handlers.go index 77c4ecf05a..47a1c262f6 100644 --- a/internal/querycoordv2/handlers.go +++ b/internal/querycoordv2/handlers.go @@ -125,6 +125,7 @@ func (s *Server) balanceSegments(ctx context.Context, req *querypb.LoadBalanceRe ) err := s.taskScheduler.Add(task) if err != nil { + task.Cancel() return err } tasks = append(tasks, task)