Skip to content

Commit

Permalink
KYLIN-3843, minor, add logs and do some checks.
Browse files Browse the repository at this point in the history
  • Loading branch information
Aaaaaaron authored and nichunen committed Apr 10, 2019
1 parent aee4596 commit 82ced2c
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,7 @@ public String apply(@Nullable ServiceInstance<LinkedHashMap> 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);
}
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<ServiceDiscoveryState> getAllNodeStates() throws IOException {
checkCuratorSchedulerEnabled();
Set<String> allNodes = new HashSet<>();
Set<String> queryNodes = new HashSet<>();

Expand Down Expand Up @@ -97,6 +99,15 @@ public EnvelopeResponse<ServiceDiscoveryState> 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<String> getActiveJobNodes(Collection<String> allNodes) throws IOException {
Map<String, String> jobServerState = serviceDiscoveryStateService.getJobServerState(allNodes);
Set<String> activeJobNodes = jobServerState.entrySet().stream() //
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,11 @@ public boolean isActiveJobNode() {
public Map<String, String> getJobServerState(Collection<String> servers) throws IOException {
Map<String, String> r = new HashMap<>();
for (String server : servers) {
logger.debug("Ask server: " + server + " for its job server state");
RestClient client = new RestClient(server);
Pair<String, String> 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;
Expand Down

0 comments on commit 82ced2c

Please sign in to comment.