This is an automated email from the ASF dual-hosted git repository.

cwylie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/druid.git


The following commit(s) were added to refs/heads/master by this push:
     new 3c46577  Fix moving average extension loading in middle manager and 
overlord (#11662)
3c46577 is described below

commit 3c46577eecf08526fe1612f384f3674afc909185
Author: Rohan Garg <[email protected]>
AuthorDate: Thu Sep 9 10:39:22 2021 +0530

    Fix moving average extension loading in middle manager and overlord (#11662)
---
 .../movingaverage/MovingAverageQueryModule.java    | 31 ++++++++++++++++++++++
 .../movingaverage/MovingAverageQueryToolChest.java |  4 ++-
 .../movingaverage/MovingAverageQueryTest.java      |  4 +++
 .../main/java/org/apache/druid/cli/CliPeon.java    |  2 ++
 4 files changed, 40 insertions(+), 1 deletion(-)

diff --git 
a/extensions-contrib/moving-average-query/src/main/java/org/apache/druid/query/movingaverage/MovingAverageQueryModule.java
 
b/extensions-contrib/moving-average-query/src/main/java/org/apache/druid/query/movingaverage/MovingAverageQueryModule.java
index 9655678..5a94b21 100644
--- 
a/extensions-contrib/moving-average-query/src/main/java/org/apache/druid/query/movingaverage/MovingAverageQueryModule.java
+++ 
b/extensions-contrib/moving-average-query/src/main/java/org/apache/druid/query/movingaverage/MovingAverageQueryModule.java
@@ -23,15 +23,25 @@ import com.fasterxml.jackson.databind.Module;
 import com.fasterxml.jackson.databind.jsontype.NamedType;
 import com.fasterxml.jackson.databind.module.SimpleModule;
 import com.google.inject.Binder;
+import com.google.inject.Injector;
+import com.google.inject.Provides;
 import com.google.inject.multibindings.MapBinder;
+import com.google.inject.name.Named;
+import org.apache.druid.discovery.NodeRole;
 import org.apache.druid.guice.DruidBinders;
 import org.apache.druid.guice.LazySingleton;
+import org.apache.druid.guice.annotations.Self;
 import org.apache.druid.initialization.DruidModule;
 import org.apache.druid.query.Query;
+import org.apache.druid.query.QuerySegmentWalker;
 import org.apache.druid.query.QueryToolChest;
+import org.apache.druid.server.NoopQuerySegmentWalker;
+import org.apache.druid.server.log.NoopRequestLogger;
+import org.apache.druid.server.log.RequestLogger;
 
 import java.util.Collections;
 import java.util.List;
+import java.util.Set;
 
 public class MovingAverageQueryModule implements DruidModule
 {
@@ -58,4 +68,25 @@ public class MovingAverageQueryModule implements DruidModule
                                                  )));
   }
 
+  @Provides
+  @LazySingleton
+  @Named("movingAverage")
+  public QuerySegmentWalker createQueryWalker(@Self Set<NodeRole> nodeRoles, 
Injector injector)
+  {
+    if (!nodeRoles.contains(NodeRole.BROKER)) {
+      return new NoopQuerySegmentWalker();
+    }
+    return injector.getInstance(QuerySegmentWalker.class);
+  }
+
+  @Provides
+  @LazySingleton
+  @Named("movingAverage")
+  public RequestLogger createRequestLogger(@Self Set<NodeRole> nodeRoles, 
Injector injector)
+  {
+    if (!nodeRoles.contains(NodeRole.BROKER)) {
+      return new NoopRequestLogger();
+    }
+    return injector.getInstance(RequestLogger.class);
+  }
 }
diff --git 
a/extensions-contrib/moving-average-query/src/main/java/org/apache/druid/query/movingaverage/MovingAverageQueryToolChest.java
 
b/extensions-contrib/moving-average-query/src/main/java/org/apache/druid/query/movingaverage/MovingAverageQueryToolChest.java
index c421c29..8d28faa 100644
--- 
a/extensions-contrib/moving-average-query/src/main/java/org/apache/druid/query/movingaverage/MovingAverageQueryToolChest.java
+++ 
b/extensions-contrib/moving-average-query/src/main/java/org/apache/druid/query/movingaverage/MovingAverageQueryToolChest.java
@@ -24,6 +24,7 @@ import com.google.common.base.Function;
 import com.google.common.base.Functions;
 import com.google.inject.Inject;
 import com.google.inject.Provider;
+import com.google.inject.name.Named;
 import org.apache.druid.data.input.MapBasedRow;
 import org.apache.druid.data.input.Row;
 import org.apache.druid.query.QueryMetrics;
@@ -57,7 +58,8 @@ public class MovingAverageQueryToolChest extends 
QueryToolChest<Row, MovingAvera
    * @param requestLogger
    */
   @Inject
-  public MovingAverageQueryToolChest(Provider<QuerySegmentWalker> 
walkerProvider, RequestLogger requestLogger)
+  public MovingAverageQueryToolChest(@Named("movingAverage") 
Provider<QuerySegmentWalker> walkerProvider,
+                                     @Named("movingAverage") RequestLogger 
requestLogger)
   {
     this.walkerProvider = walkerProvider;
     this.requestLogger = requestLogger;
diff --git 
a/extensions-contrib/moving-average-query/src/test/java/org/apache/druid/query/movingaverage/MovingAverageQueryTest.java
 
b/extensions-contrib/moving-average-query/src/test/java/org/apache/druid/query/movingaverage/MovingAverageQueryTest.java
index 15fdfa7..9386425 100644
--- 
a/extensions-contrib/moving-average-query/src/test/java/org/apache/druid/query/movingaverage/MovingAverageQueryTest.java
+++ 
b/extensions-contrib/moving-average-query/src/test/java/org/apache/druid/query/movingaverage/MovingAverageQueryTest.java
@@ -28,6 +28,7 @@ import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Maps;
 import com.google.inject.Injector;
 import com.google.inject.Module;
+import com.google.inject.multibindings.Multibinder;
 import com.google.inject.name.Names;
 import com.google.inject.util.Providers;
 import org.apache.druid.client.CachingClusteredClient;
@@ -40,10 +41,12 @@ import 
org.apache.druid.client.cache.ForegroundCachePopulator;
 import org.apache.druid.client.cache.MapCache;
 import org.apache.druid.client.selector.ServerSelector;
 import org.apache.druid.data.input.MapBasedRow;
+import org.apache.druid.discovery.NodeRole;
 import org.apache.druid.guice.DruidProcessingModule;
 import org.apache.druid.guice.GuiceInjectors;
 import org.apache.druid.guice.QueryRunnerFactoryModule;
 import org.apache.druid.guice.QueryableModule;
+import org.apache.druid.guice.annotations.Self;
 import org.apache.druid.guice.http.DruidHttpClientConfig;
 import org.apache.druid.initialization.Initialization;
 import org.apache.druid.java.util.common.guava.Accumulators;
@@ -153,6 +156,7 @@ public class MovingAverageQueryTest extends 
InitializedNullHandlingTest
               return getQueryRunnerForIntervals(query, null);
             }
           }));
+          Multibinder.newSetBinder(binder, NodeRole.class, 
Self.class).addBinding().toInstance(NodeRole.BROKER);
         }
     );
 
diff --git a/services/src/main/java/org/apache/druid/cli/CliPeon.java 
b/services/src/main/java/org/apache/druid/cli/CliPeon.java
index ab02a07..5b45315 100644
--- a/services/src/main/java/org/apache/druid/cli/CliPeon.java
+++ b/services/src/main/java/org/apache/druid/cli/CliPeon.java
@@ -30,6 +30,7 @@ import com.google.inject.Module;
 import com.google.inject.Provides;
 import com.google.inject.TypeLiteral;
 import com.google.inject.multibindings.MapBinder;
+import com.google.inject.multibindings.Multibinder;
 import com.google.inject.name.Named;
 import com.google.inject.name.Names;
 import io.airlift.airline.Arguments;
@@ -416,6 +417,7 @@ public class CliPeon extends GuiceRunnable
         .in(LazySingleton.class);
 
     
binder.bind(NodeRole.class).annotatedWith(Self.class).toInstance(NodeRole.PEON);
+    Multibinder.newSetBinder(binder, NodeRole.class, 
Self.class).addBinding().toInstance(NodeRole.PEON);
   }
 
   static void bindTaskConfigAndClients(Binder binder)

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

Reply via email to