LakshSingla commented on code in PR #16887:
URL: https://github.com/apache/druid/pull/16887#discussion_r1721729979


##########
services/src/main/java/org/apache/druid/cli/CliPeon.java:
##########
@@ -205,7 +223,67 @@ public void configure(Properties properties)
   protected List<? extends Module> getModules()
   {
     return ImmutableList.of(
-        new DruidProcessingModule(),
+        Modules.override(new DruidProcessingModule()).with(
+            new Module()
+            {
+              @Override
+              public void configure(Binder binder)
+              {
+
+              }
+
+              @Provides
+              @ManageLifecycle
+              public QueryProcessingPool getProcessingExecutorPool(
+                  Task task,
+                  DruidProcessingConfig config,
+                  ExecutorServiceMonitor executorServiceMonitor,
+                  Lifecycle lifecycle
+              )
+              {
+                if (!task.supportsQueries()) {
+                  return new ForwardingQueryProcessingPool(Execs.dummy());
+                }
+                return new MetricsEmittingQueryProcessingPool(
+                    PrioritizedExecutorService.create(
+                        lifecycle,
+                        config
+                    ),
+                    executorServiceMonitor
+                );

Review Comment:
   > then we should never return an instance that can be used at all, even if 
it causes the task to fail
   
   The `ForwardingQueryProcessingPool(Execs.dummy())` would do exactly that 
unless I am mistaken. The task would be delegated to the [dummy 
executor](https://github.com/apache/druid/blob/master/processing/src/main/java/org/apache/druid/java/util/common/concurrent/DummyExecutorService.java#L35-L35)
 which throws UOE on any attempt to submit the task.
   I attempted to create a `NoopQueryProcessingPool` while raising the PR, but 
it was doing the same thing. Maybe I can rename and make it clearer to read, or 
subclass the forwarding pool explicitly. 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to