From 8bfa55e5602a6eb4ff937dc324e54695446e07b7 Mon Sep 17 00:00:00 2001 From: yah01 Date: Fri, 28 Oct 2022 14:55:32 +0800 Subject: [PATCH] Fix memory & goroutine leak (#20152) Signed-off-by: yah01 Signed-off-by: yah01 --- internal/querycoordv2/checkers/controller.go | 1 + internal/querycoordv2/handlers.go | 1 + 2 files changed, 2 insertions(+) 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)