From e116600c7fe2b88861765f1ce3f14cbcac101e13 Mon Sep 17 00:00:00 2001 From: Charles Allen Date: Wed, 11 Feb 2015 15:43:51 -0800 Subject: [PATCH] Make Realtime queries not submit to thread pools for the master merger Fix https://github.com/druid-io/druid/issues/1111 --- .../main/java/io/druid/segment/realtime/RealtimeManager.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/server/src/main/java/io/druid/segment/realtime/RealtimeManager.java b/server/src/main/java/io/druid/segment/realtime/RealtimeManager.java index 7cc57b3f022..87c8328ebba 100644 --- a/server/src/main/java/io/druid/segment/realtime/RealtimeManager.java +++ b/server/src/main/java/io/druid/segment/realtime/RealtimeManager.java @@ -24,6 +24,7 @@ import com.google.common.base.Preconditions; import com.google.common.base.Throwables; import com.google.common.collect.Iterables; import com.google.common.collect.Maps; +import com.google.common.util.concurrent.MoreExecutors; import com.google.inject.Inject; import com.metamx.common.guava.CloseQuietly; import com.metamx.common.lifecycle.LifecycleStart; @@ -158,7 +159,7 @@ public class RealtimeManager implements QuerySegmentWalker Iterable chiefsOfDataSource = chiefs.get(input); return chiefsOfDataSource == null ? new NoopQueryRunner() : factory.getToolchest().mergeResults( factory.mergeRunners( - executorService, + MoreExecutors.sameThreadExecutor(), // Chaining query runners which wait on submitted chain query runners can make executor pools deadlock Iterables.transform( chiefsOfDataSource, new Function>() {