diff --git a/executor/aggregate.go b/executor/aggregate.go index 10075fb51ef20..1663736c49804 100644 --- a/executor/aggregate.go +++ b/executor/aggregate.go @@ -208,6 +208,9 @@ func (e *HashAggExec) Close() error { for _, ch := range e.partialOutputChs { close(ch) } + for _, ch := range e.partialInputChs { + close(ch) + } close(e.finalOutputCh) } close(e.finishCh) @@ -215,6 +218,10 @@ func (e *HashAggExec) Close() error { for range ch { } } + for _, ch := range e.partialInputChs { + for range ch { + } + } for range e.finalOutputCh { } e.executed = false