From 6e9fd42e889743e1bb82e3363f50fb6f74a24e3a Mon Sep 17 00:00:00 2001 From: ti-srebot <66930949+ti-srebot@users.noreply.github.com> Date: Thu, 14 Jul 2022 18:47:07 +0800 Subject: [PATCH] executor: fix index_lookup_hash_join hang when used with limit (#35820) (#36104) close pingcap/tidb#35638 --- executor/index_lookup_hash_join.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/executor/index_lookup_hash_join.go b/executor/index_lookup_hash_join.go index 5287f43a59cbe..4c20b9baf90cb 100644 --- a/executor/index_lookup_hash_join.go +++ b/executor/index_lookup_hash_join.go @@ -608,7 +608,10 @@ func (iw *indexHashJoinInnerWorker) handleTask(ctx context.Context, task *indexH if task.keepOuterOrder { if err != nil { joinResult.err = err - resultCh <- joinResult + select { + case <-ctx.Done(): + case resultCh <- joinResult: + } } close(resultCh) }