From caf9ed639b217477cb023315e218de80d4310e19 Mon Sep 17 00:00:00 2001 From: Nikolai Kochetov Date: Mon, 29 Apr 2019 14:04:03 +0300 Subject: [PATCH] Attach tasks from PipelineExecutor to thread group. --- dbms/src/Processors/Executors/PipelineExecutor.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/dbms/src/Processors/Executors/PipelineExecutor.cpp b/dbms/src/Processors/Executors/PipelineExecutor.cpp index f7d95335e68..9bffad8b24b 100644 --- a/dbms/src/Processors/Executors/PipelineExecutor.cpp +++ b/dbms/src/Processors/Executors/PipelineExecutor.cpp @@ -5,6 +5,7 @@ #include #include #include +#include namespace DB { @@ -187,7 +188,9 @@ void PipelineExecutor::addJob(UInt64 pid) { if (pool) { - auto job = [this, pid]() + auto thread_group = CurrentThread::getGroup(); + + auto job = [this, pid, thread_group]() { SCOPE_EXIT( { @@ -197,6 +200,9 @@ void PipelineExecutor::addJob(UInt64 pid) event_counter.notify() ); + if (thread_group) + CurrentThread::attachToIfDetached(thread_group); + executeJob(graph[pid].processor); };