浏览代码

AMBARI-14030. Datanode shows up prematurely as 'Decomissioned' in Ambari UI while it is 'Decomissioning in Progress' in Namenode UI.(xiwang)

Xi Wang 9 年之前
父节点
当前提交
aa465686f3
共有 1 个文件被更改,包括 16 次插入14 次删除
  1. 16 14
      ambari-web/app/views/main/host/details/host_component_views/datanode_view.js

+ 16 - 14
ambari-web/app/views/main/host/details/host_component_views/datanode_view.js

@@ -86,22 +86,24 @@ App.DataNodeComponentView = App.HostComponentView.extend(App.Decommissionable, {
     if (curObj) {
       var liveNodesJson = App.parseJSON(curObj.LiveNodes);
       // HDP-2 stack
-      if (liveNodesJson && liveNodesJson[hostName]) {
-        switch (liveNodesJson[hostName].adminState) {
-          case "In Service":
-            this.setStatusAs('INSERVICE');
-            break;
-          case "Decommission In Progress":
-            this.setStatusAs('DECOMMISSIONING');
-            break;
-          case "Decommissioned":
-            this.setStatusAs('DECOMMISSIONED');
-            break;
+      for (var hostPort in liveNodesJson) {
+        if(hostPort.indexOf(hostName) == 0) {
+          switch (liveNodesJson[hostPort].adminState) {
+            case "In Service":
+              this.setStatusAs('INSERVICE');
+              break;
+            case "Decommission In Progress":
+              this.setStatusAs('DECOMMISSIONING');
+              break;
+            case "Decommissioned":
+              this.setStatusAs('DECOMMISSIONED');
+              break;
+          }
+          return;
         }
-      } else {
-        // if namenode is down, get desired_admin_state to decide if the user had issued a decommission
-        this.getDesiredAdminState();
       }
+      // if namenode is down, get desired_admin_state to decide if the user had issued a decommission
+      this.getDesiredAdminState();
     }
   }
 });