AMBARI-18851 : Collector host refresh in Ambari Server is not working in single 
Metrics collector deployments. (avijayan)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/ce460602
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/ce460602
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/ce460602

Branch: refs/heads/branch-dev-patch-upgrade
Commit: ce46060294b3ad33e3e32153277ca42c71aacc1a
Parents: 45adfdf
Author: Aravindan Vijayan <[email protected]>
Authored: Mon Nov 14 14:49:29 2016 -0800
Committer: Aravindan Vijayan <[email protected]>
Committed: Mon Nov 14 14:49:29 2016 -0800

----------------------------------------------------------------------
 .../metrics/MetricsCollectorHAClusterState.java           | 10 ++++++++++
 1 file changed, 10 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/ce460602/ambari-server/src/main/java/org/apache/ambari/server/controller/metrics/MetricsCollectorHAClusterState.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/metrics/MetricsCollectorHAClusterState.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/metrics/MetricsCollectorHAClusterState.java
index 05b4e05..2e6b091 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/metrics/MetricsCollectorHAClusterState.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/metrics/MetricsCollectorHAClusterState.java
@@ -168,6 +168,16 @@ public class MetricsCollectorHAClusterState {
         return true;
       }
     }
+
+    //If no host is alive, check if some dead collectors have become live.
+    testAndAddDeadCollectorsToLiveList();
+
+    //try one more time
+    for (String host : liveCollectorHosts) {
+      if (HostStatusHelper.isHostLive(managementController, clusterName, 
host)) {
+        return true;
+      }
+    }
     return false;
     }
 

Reply via email to