From dbfeef9d46bf9343e19d451c5c1565d6574ec53d Mon Sep 17 00:00:00 2001 From: tangenta Date: Wed, 29 Mar 2023 18:20:54 +0800 Subject: [PATCH] ddl: make waitGroup.Done() the last function to be called (#42682) close pingcap/tidb#42653 --- ddl/backfilling.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ddl/backfilling.go b/ddl/backfilling.go index 8e891498bd..00763703ca 100644 --- a/ddl/backfilling.go +++ b/ddl/backfilling.go @@ -446,10 +446,10 @@ func (w *backfillWorker) runTask(task *reorgBackfillTask) (result *backfillResul func (w *backfillWorker) run(d *ddlCtx, bf backfiller, job *model.Job) { logutil.BgLogger().Info("[ddl] backfill worker start", zap.Stringer("worker", w)) var curTaskID int + defer w.wg.Done() defer util.Recover(metrics.LabelDDL, "backfillWorker.run", func() { w.resultCh <- &backfillResult{taskID: curTaskID, err: dbterror.ErrReorgPanic} }, false) - defer w.wg.Done() for { if util.HasCancelled(w.ctx) { logutil.BgLogger().Info("[ddl] backfill worker exit on context done", zap.Stringer("worker", w))