From 82ced2ce0df0341cd68447c183af6b778c4b3b77 Mon Sep 17 00:00:00 2001 From: Jiatao Tao <245915794@qq.com> Date: Tue, 9 Apr 2019 20:27:51 +0800 Subject: [PATCH] KYLIN-3843, minor, add logs and do some checks. --- .../kylin/job/impl/curator/CuratorScheduler.java | 1 + .../controller/ServiceDiscoveryStateController.java | 11 +++++++++++ .../rest/service/ServiceDiscoveryStateService.java | 4 +++- 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/core-job/src/main/java/org/apache/kylin/job/impl/curator/CuratorScheduler.java b/core-job/src/main/java/org/apache/kylin/job/impl/curator/CuratorScheduler.java index 329c9fa6b5a..0fb42e1761d 100644 --- a/core-job/src/main/java/org/apache/kylin/job/impl/curator/CuratorScheduler.java +++ b/core-job/src/main/java/org/apache/kylin/job/impl/curator/CuratorScheduler.java @@ -171,6 +171,7 @@ public String apply(@Nullable ServiceInstance stringServiceInstan // get servers and its mode(query, job, all) final String restServersInClusterWithMode = StringUtil.join(instanceNodes, ","); + logger.info("kylin.server.cluster-servers-with-mode update to " + restServersInClusterWithMode); System.setProperty("kylin.server.cluster-servers-with-mode", restServersInClusterWithMode); } }); diff --git a/server-base/src/main/java/org/apache/kylin/rest/controller/ServiceDiscoveryStateController.java b/server-base/src/main/java/org/apache/kylin/rest/controller/ServiceDiscoveryStateController.java index c4d1636f3cc..a31569432d8 100644 --- a/server-base/src/main/java/org/apache/kylin/rest/controller/ServiceDiscoveryStateController.java +++ b/server-base/src/main/java/org/apache/kylin/rest/controller/ServiceDiscoveryStateController.java @@ -53,12 +53,14 @@ public class ServiceDiscoveryStateController extends BasicController { @RequestMapping(value = "/is_active_job_node", method = { RequestMethod.GET }, produces = { "application/json" }) @ResponseBody public boolean isActiveJobNode() { + checkCuratorSchedulerEnabled(); return serviceDiscoveryStateService.isActiveJobNode(); } @RequestMapping(value = "/all", method = { RequestMethod.GET }, produces = { "application/json" }) @ResponseBody public EnvelopeResponse getAllNodeStates() throws IOException { + checkCuratorSchedulerEnabled(); Set allNodes = new HashSet<>(); Set queryNodes = new HashSet<>(); @@ -97,6 +99,15 @@ public EnvelopeResponse getAllNodeStates() throws IOExcep "get service discovery's state"); } + private void checkCuratorSchedulerEnabled() { + // 100 means CuratorScheduler + // This monitor only meaningful to CuratorScheduler + if (KylinConfig.getInstanceFromEnv().getSchedulerType() != 100) { + throw new UnsupportedOperationException("Only meaningful when scheduler is CuratorScheduler, " + + "try set kylin.job.scheduler.default to 100 to enable CuratorScheduler."); + } + } + private Set getActiveJobNodes(Collection allNodes) throws IOException { Map jobServerState = serviceDiscoveryStateService.getJobServerState(allNodes); Set activeJobNodes = jobServerState.entrySet().stream() // diff --git a/server-base/src/main/java/org/apache/kylin/rest/service/ServiceDiscoveryStateService.java b/server-base/src/main/java/org/apache/kylin/rest/service/ServiceDiscoveryStateService.java index 4bfec69cdfd..218529b7ec6 100644 --- a/server-base/src/main/java/org/apache/kylin/rest/service/ServiceDiscoveryStateService.java +++ b/server-base/src/main/java/org/apache/kylin/rest/service/ServiceDiscoveryStateService.java @@ -55,9 +55,11 @@ public boolean isActiveJobNode() { public Map getJobServerState(Collection servers) throws IOException { Map r = new HashMap<>(); for (String server : servers) { - logger.debug("Ask server: " + server + " for its job server state"); RestClient client = new RestClient(server); Pair jobServerState = client.getJobServerWithState(); + logger.info("Ask server: {} for its job server state, is active job node: {}" // + , jobServerState.getFirst() // + , jobServerState.getSecond());// r.put(jobServerState.getFirst(), jobServerState.getSecond()); } return r;