You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by ni...@apache.org on 2020/02/07 14:26:14 UTC

[kylin] 19/44: KYLIN-4295 Instances displayed on Query Node are inconsistent with Job Node

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

nic pushed a commit to branch 3.0.x
in repository https://gitbox.apache.org/repos/asf/kylin.git

commit a877fee84a0b4a13afa28a2cb78faeea7e663510
Author: yaqian.zhang <59...@qq.com>
AuthorDate: Mon Dec 23 15:01:39 2019 +0800

    KYLIN-4295 Instances displayed on Query Node are inconsistent with Job Node
---
 .../ServiceDiscoveryStateController.java           | 29 ++++++++++++++--------
 webapp/app/js/controllers/instances.js             |  2 +-
 2 files changed, 19 insertions(+), 12 deletions(-)

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 a315694..42d6cc7 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
@@ -63,6 +63,8 @@ public class ServiceDiscoveryStateController extends BasicController {
         checkCuratorSchedulerEnabled();
         Set<String> allNodes = new HashSet<>();
         Set<String> queryNodes = new HashSet<>();
+        Set<String> jobNodes = new HashSet<>();
+        Set<String> leaders = new HashSet<>();
 
         // get all nodes and query nodes
         for (String serverWithMode : KylinConfig.getInstanceFromEnv().getRestServersWithMode()) {
@@ -75,19 +77,24 @@ public class ServiceDiscoveryStateController extends BasicController {
             if (mode.equals("query") || mode.equals("all")) {
                 queryNodes.add(server);
             }
+            if (mode.equals("job") || mode.equals("all")) {
+                jobNodes.add(server);
+            }
         }
 
         // Get all selection participants(only job nodes will participate in the election) and selected leaders
         Set<Participant> allParticipants = serviceDiscoveryStateService.getAllParticipants();
-        Set<String> jobNodes = allParticipants.stream() //
-                .map(Participant::getId) //
-                .collect(Collectors.toSet()); //
-
-        // There should only one leader, if there are more than one leader, means something wrong happened
-        Set<String> leaders = allParticipants.stream() //
-                .filter(Participant::isLeader) //
-                .map(Participant::getId) //
-                .collect(Collectors.toSet()); //
+        if (!allParticipants.isEmpty()) {
+            jobNodes = allParticipants.stream() //
+                    .map(Participant::getId) //
+                    .collect(Collectors.toSet()); //
+
+            // There should only one leader, if there are more than one leader, means something wrong happened
+            leaders = allParticipants.stream() //
+                    .filter(Participant::isLeader) //
+                    .map(Participant::getId) //
+                    .collect(Collectors.toSet()); //
+        }
 
         // Ask for other nodes for its job server state
         // current Kylin only has one active job node
@@ -103,8 +110,8 @@ public class ServiceDiscoveryStateController extends BasicController {
         // 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.");
+            throw new UnsupportedOperationException("Only meaningful when scheduler is CuratorScheduler, "
+                    + "try set kylin.job.scheduler.default to 100 to enable CuratorScheduler.");
         }
     }
 
diff --git a/webapp/app/js/controllers/instances.js b/webapp/app/js/controllers/instances.js
index 77b9245..1ff3e69 100644
--- a/webapp/app/js/controllers/instances.js
+++ b/webapp/app/js/controllers/instances.js
@@ -54,7 +54,7 @@ KylinApp
       if ($scope.selectedLeaders.indexOf(node) >= 0) {
         return "Job Node (Leader)";
       } else {
-        return "Job Node (Follower)";
+        return "Job Node";
       }
     }