You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ao...@apache.org on 2017/09/07 09:52:05 UTC
ambari git commit: AMBARI-21899. Component status reports are sent
for the components which are not on the host (aonishuk)
Repository: ambari
Updated Branches:
refs/heads/branch-3.0-perf 24464d9b4 -> a5d85a899
AMBARI-21899. Component status reports are sent for the components which are not on the host (aonishuk)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/a5d85a89
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/a5d85a89
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/a5d85a89
Branch: refs/heads/branch-3.0-perf
Commit: a5d85a89949f127d0d3906224aa410c075e0b738
Parents: 24464d9
Author: Andrew Onishuk <ao...@hortonworks.com>
Authored: Thu Sep 7 12:51:55 2017 +0300
Committer: Andrew Onishuk <ao...@hortonworks.com>
Committed: Thu Sep 7 12:51:55 2017 +0300
----------------------------------------------------------------------
.../src/main/python/ambari_agent/ClusterTopologyCache.py | 6 ++++++
.../src/main/python/ambari_agent/ComponentStatusExecutor.py | 9 +++++++++
2 files changed, 15 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/a5d85a89/ambari-agent/src/main/python/ambari_agent/ClusterTopologyCache.py
----------------------------------------------------------------------
diff --git a/ambari-agent/src/main/python/ambari_agent/ClusterTopologyCache.py b/ambari-agent/src/main/python/ambari_agent/ClusterTopologyCache.py
index e35b219..af11cc5 100644
--- a/ambari-agent/src/main/python/ambari_agent/ClusterTopologyCache.py
+++ b/ambari-agent/src/main/python/ambari_agent/ClusterTopologyCache.py
@@ -113,6 +113,12 @@ class ClusterTopologyCache(ClusterCache):
current_host_id = self.current_host_ids_to_cluster[cluster_id]
return self.get_host_info_by_id(cluster_id, current_host_id)
+ def get_current_host_id(self, cluster_id):
+ try:
+ return self.current_host_ids_to_cluster[cluster_id]
+ except KeyError:
+ return None
+
@staticmethod
def _find_host_by_id_in_dict(host_dicts, host_id):
for host_dict in host_dicts:
http://git-wip-us.apache.org/repos/asf/ambari/blob/a5d85a89/ambari-agent/src/main/python/ambari_agent/ComponentStatusExecutor.py
----------------------------------------------------------------------
diff --git a/ambari-agent/src/main/python/ambari_agent/ComponentStatusExecutor.py b/ambari-agent/src/main/python/ambari_agent/ComponentStatusExecutor.py
index 4ccd815..d074786c 100644
--- a/ambari-agent/src/main/python/ambari_agent/ComponentStatusExecutor.py
+++ b/ambari-agent/src/main/python/ambari_agent/ComponentStatusExecutor.py
@@ -65,6 +65,11 @@ class ComponentStatusExecutor(threading.Thread):
if not 'components' in topology_cache:
continue
+ current_host_id = self.topology_cache.get_current_host_id(cluster_id)
+
+ if current_host_id is None:
+ continue
+
cluster_components = topology_cache.components
for component_dict in cluster_components:
for command_name in status_commands_to_run:
@@ -76,6 +81,10 @@ class ComponentStatusExecutor(threading.Thread):
if not cluster_id in self.topology_cache.get_cluster_ids():
break
+ # check if component is installed on current host
+ if not current_host_id in component_dict.hostIds:
+ break
+
service_name = component_dict.serviceName
component_name = component_dict.componentName