You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@druid.apache.org by fj...@apache.org on 2018/12/16 23:18:17 UTC
[incubator-druid] branch master updated: Use @Coordinator leader
client in CoordinatorRuleManager (#6729)
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 <jo...@users.noreply.github.com>
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: commits-unsubscribe@druid.apache.org
For additional commands, e-mail: commits-help@druid.apache.org