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

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


The following commit(s) were added to refs/heads/master by this push:
     new c713116  Use @Coordinator leader client in CoordinatorRuleManager 
(#6729)
c713116 is described below

commit c713116a75fb13acdeaddf9e02b3e62f12ebda7d
Author: Jonathan Wei <[email protected]>
AuthorDate: Sun Dec 16 15:18:09 2018 -0800

    Use @Coordinator leader client in CoordinatorRuleManager (#6729)
---
 docs/content/development/router.md                 |  2 --
 .../apache/druid/server/http/RulesResource.java    |  2 ++
 .../server/router/CoordinatorRuleManager.java      |  6 ++--
 .../druid/server/router/TieredBrokerConfig.java    | 18 ------------
 .../main/java/org/apache/druid/cli/CliRouter.java  | 34 ----------------------
 5 files changed, 6 insertions(+), 56 deletions(-)

diff --git a/docs/content/development/router.md 
b/docs/content/development/router.md
index 4c27b78..79592ca 100644
--- a/docs/content/development/router.md
+++ b/docs/content/development/router.md
@@ -90,8 +90,6 @@ The router module uses several of the default modules in 
[Configuration](../conf
 |`druid.router.defaultBrokerServiceName`|Any string.|The default broker to 
connect to in case service discovery fails.|druid/broker|
 |`druid.router.tierToBrokerMap`|An ordered JSON map of tiers to broker names. 
The priority of brokers is based on the ordering.|Queries for a certain tier of 
data are routed to their appropriate broker.|{"_default_tier": 
"<defaultBrokerServiceName>"}|
 |`druid.router.defaultRule`|Any string.|The default rule for all 
datasources.|"_default"|
-|`druid.router.rulesEndpoint`|Any string.|The coordinator endpoint to extract 
rules from.|"/druid/coordinator/v1/rules"|
-|`druid.router.coordinatorServiceName`|Any string.|The service discovery name 
of the coordinator.|druid/coordinator|
 |`druid.router.pollPeriod`|Any ISO8601 duration.|How often to poll for new 
rules.|PT1M|
 |`druid.router.strategies`|An ordered JSON array of objects.|All custom 
strategies to use for routing.|[{"type":"timeBoundary"},{"type":"priority"}]|
 |`druid.router.avatica.balancer.type`|String representing an 
AvaticaConnectionBalancer name|Class to use for balancing Avatica queries 
across brokers|rendezvousHash|
diff --git 
a/server/src/main/java/org/apache/druid/server/http/RulesResource.java 
b/server/src/main/java/org/apache/druid/server/http/RulesResource.java
index 10b3f5e..fdb5896 100644
--- a/server/src/main/java/org/apache/druid/server/http/RulesResource.java
+++ b/server/src/main/java/org/apache/druid/server/http/RulesResource.java
@@ -52,6 +52,8 @@ import java.util.List;
 @Path("/druid/coordinator/v1/rules")
 public class RulesResource
 {
+  public static final String RULES_ENDPOINT = "/druid/coordinator/v1/rules";
+
   private final MetadataRuleManager databaseRuleManager;
   private final AuditManager auditManager;
 
diff --git 
a/server/src/main/java/org/apache/druid/server/router/CoordinatorRuleManager.java
 
b/server/src/main/java/org/apache/druid/server/router/CoordinatorRuleManager.java
index afc1a64..1e9ea81 100644
--- 
a/server/src/main/java/org/apache/druid/server/router/CoordinatorRuleManager.java
+++ 
b/server/src/main/java/org/apache/druid/server/router/CoordinatorRuleManager.java
@@ -23,6 +23,7 @@ import com.fasterxml.jackson.core.type.TypeReference;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.google.common.base.Supplier;
 import com.google.inject.Inject;
+import org.apache.druid.client.coordinator.Coordinator;
 import org.apache.druid.discovery.DruidLeaderClient;
 import org.apache.druid.guice.ManageLifecycle;
 import org.apache.druid.guice.annotations.Json;
@@ -34,6 +35,7 @@ import 
org.apache.druid.java.util.common.lifecycle.LifecycleStop;
 import org.apache.druid.java.util.common.logger.Logger;
 import org.apache.druid.java.util.http.client.response.FullResponseHolder;
 import org.apache.druid.server.coordinator.rules.Rule;
+import org.apache.druid.server.http.RulesResource;
 import org.jboss.netty.handler.codec.http.HttpMethod;
 import org.jboss.netty.handler.codec.http.HttpResponseStatus;
 import org.joda.time.Duration;
@@ -69,7 +71,7 @@ public class CoordinatorRuleManager
   public CoordinatorRuleManager(
       @Json ObjectMapper jsonMapper,
       Supplier<TieredBrokerConfig> config,
-      DruidLeaderClient druidLeaderClient
+      @Coordinator DruidLeaderClient druidLeaderClient
   )
   {
     this.jsonMapper = jsonMapper;
@@ -135,7 +137,7 @@ public class CoordinatorRuleManager
   {
     try {
       FullResponseHolder response = druidLeaderClient.go(
-          druidLeaderClient.makeRequest(HttpMethod.GET, 
config.get().getRulesEndpoint())
+          druidLeaderClient.makeRequest(HttpMethod.GET, 
RulesResource.RULES_ENDPOINT)
       );
 
       if (!response.getStatus().equals(HttpResponseStatus.OK)) {
diff --git 
a/server/src/main/java/org/apache/druid/server/router/TieredBrokerConfig.java 
b/server/src/main/java/org/apache/druid/server/router/TieredBrokerConfig.java
index 59aa89d..9d3a1f9 100644
--- 
a/server/src/main/java/org/apache/druid/server/router/TieredBrokerConfig.java
+++ 
b/server/src/main/java/org/apache/druid/server/router/TieredBrokerConfig.java
@@ -50,14 +50,6 @@ public class TieredBrokerConfig
 
   @JsonProperty
   @NotNull
-  private String rulesEndpoint = "/druid/coordinator/v1/rules";
-
-  @JsonProperty
-  @NotNull
-  private String coordinatorServiceName = DEFAULT_COORDINATOR_SERVICE_NAME;
-
-  @JsonProperty
-  @NotNull
   private Period pollPeriod = new Period("PT1M");
 
   @JsonProperty
@@ -87,16 +79,6 @@ public class TieredBrokerConfig
     return defaultRule;
   }
 
-  public String getRulesEndpoint()
-  {
-    return rulesEndpoint;
-  }
-
-  public String getCoordinatorServiceName()
-  {
-    return coordinatorServiceName;
-  }
-
   public Period getPollPeriod()
   {
     return pollPeriod;
diff --git a/services/src/main/java/org/apache/druid/cli/CliRouter.java 
b/services/src/main/java/org/apache/druid/cli/CliRouter.java
index 8c0d83e..3f80faf 100644
--- a/services/src/main/java/org/apache/druid/cli/CliRouter.java
+++ b/services/src/main/java/org/apache/druid/cli/CliRouter.java
@@ -23,15 +23,10 @@ import com.google.common.collect.ImmutableList;
 import com.google.inject.Binder;
 import com.google.inject.Key;
 import com.google.inject.Module;
-import com.google.inject.Provides;
 import com.google.inject.TypeLiteral;
 import com.google.inject.name.Names;
 import io.airlift.airline.Command;
 import org.apache.druid.curator.discovery.DiscoveryModule;
-import org.apache.druid.curator.discovery.ServerDiscoveryFactory;
-import org.apache.druid.curator.discovery.ServerDiscoverySelector;
-import org.apache.druid.discovery.DruidLeaderClient;
-import org.apache.druid.discovery.DruidNodeDiscoveryProvider;
 import org.apache.druid.discovery.NodeType;
 import org.apache.druid.guice.Jerseys;
 import org.apache.druid.guice.JsonConfigProvider;
@@ -41,11 +36,9 @@ import org.apache.druid.guice.ManageLifecycle;
 import org.apache.druid.guice.QueryRunnerFactoryModule;
 import org.apache.druid.guice.QueryableModule;
 import org.apache.druid.guice.RouterProcessingModule;
-import org.apache.druid.guice.annotations.EscalatedGlobal;
 import org.apache.druid.guice.annotations.Self;
 import org.apache.druid.guice.http.JettyHttpClientModule;
 import org.apache.druid.java.util.common.logger.Logger;
-import org.apache.druid.java.util.http.client.HttpClient;
 import org.apache.druid.query.lookup.LookupModule;
 import org.apache.druid.server.AsyncQueryForwardingServlet;
 import org.apache.druid.server.http.RouterResource;
@@ -127,33 +120,6 @@ public class CliRouter extends ServerRunnable
                 .in(LazySingleton.class);
             LifecycleModule.registerKey(binder, 
Key.get(DiscoverySideEffectsProvider.Child.class));
           }
-
-          @Provides
-          @ManageLifecycle
-          public ServerDiscoverySelector getCoordinatorServerDiscoverySelector(
-              TieredBrokerConfig config,
-              ServerDiscoveryFactory factory
-          )
-          {
-            return factory.createSelector(config.getCoordinatorServiceName());
-          }
-
-          @Provides
-          @ManageLifecycle
-          public DruidLeaderClient getLeaderHttpClient(
-              @EscalatedGlobal HttpClient httpClient,
-              DruidNodeDiscoveryProvider druidNodeDiscoveryProvider,
-              ServerDiscoverySelector serverDiscoverySelector
-          )
-          {
-            return new DruidLeaderClient(
-                httpClient,
-                druidNodeDiscoveryProvider,
-                NodeType.COORDINATOR,
-                "/druid/coordinator/v1/leader",
-                serverDiscoverySelector
-            );
-          }
         },
         new LookupModule()
     );


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

Reply via email to