You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by am...@apache.org on 2017/12/12 15:14:33 UTC

[12/24] ambari git commit: AMBARI-22605. Tez service check hangs when adding service. (mpapirkovskyy)

AMBARI-22605. Tez service check hangs when adding service. (mpapirkovskyy)


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

Branch: refs/heads/branch-feature-AMBARI-22008-isilon
Commit: d0b057adce9cb25602366d59c44ea2c934198e43
Parents: c38b7b2
Author: Myroslav Papirkovskyi <mp...@hortonworks.com>
Authored: Wed Dec 6 18:10:53 2017 +0200
Committer: Attila Magyar <am...@hortonworks.com>
Committed: Tue Dec 12 16:13:58 2017 +0100

----------------------------------------------------------------------
 .../AmbariManagementControllerImpl.java         |  6 +++++
 .../upgrade/HostVersionOutOfSyncListener.java   | 24 ++++++++++++++++++++
 2 files changed, 30 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/d0b057ad/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
index e5c42f4..a2d8494 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
@@ -3025,6 +3025,12 @@ public class AmbariManagementControllerImpl implements AmbariManagementControlle
           continue;
         }
 
+        if (StringUtils.isBlank(stage.getHostParamsStage())) {
+          RepositoryVersionEntity repositoryVersion = component.getDesiredRepositoryVersion();
+          stage.setHostParamsStage(StageUtils.getGson().toJson(
+              customCommandExecutionHelper.createDefaultHostParams(cluster, repositoryVersion.getStackId())));
+        }
+
         customCommandExecutionHelper.addServiceCheckAction(stage, clientHost, smokeTestRole,
             nowTimestamp, serviceName, componentName, null, false, false);
       }

http://git-wip-us.apache.org/repos/asf/ambari/blob/d0b057ad/ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListener.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListener.java b/ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListener.java
index 4ce855d..4b3e42a 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListener.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListener.java
@@ -129,6 +129,14 @@ public class HostVersionOutOfSyncListener {
         // stack, but become versionAdvertised in some future (installed, but not yet upgraded to) stack
         String serviceName = event.getServiceName();
         String componentName = event.getComponentName();
+
+        // Skip lookup if stack does not contain the component
+        if (!ami.get().isValidServiceComponent(hostStackId.getStackName(),
+            hostStackId.getStackVersion(), serviceName, componentName)) {
+          LOG.debug("Component not found is host stack, stack={}, version={}, service={}, component={}",
+              hostStackId.getStackName(), hostStackId.getStackVersion(), serviceName, componentName);
+          continue;
+        }
         ComponentInfo component = ami.get().getComponent(hostStackId.getStackName(),
                 hostStackId.getStackVersion(), serviceName, componentName);
 
@@ -215,6 +223,14 @@ public class HostVersionOutOfSyncListener {
     Collection<HostComponentDesiredStateEntity> hostComponents = host.getHostComponentDesiredStateEntities();
 
     for (HostComponentDesiredStateEntity hostComponent : hostComponents) {
+      // Skip lookup if stack does not contain the component
+      if (!ami.get().isValidServiceComponent(stackId.getStackName(),
+          stackId.getStackVersion(), hostComponent.getServiceName(), hostComponent.getComponentName())) {
+        LOG.debug("Component not found is host stack, stack={}, version={}, service={}, component={}",
+            stackId.getStackName(), stackId.getStackVersion(),
+            hostComponent.getServiceName(), hostComponent.getComponentName());
+        continue;
+      }
       ComponentInfo ci = ami.get().getComponent(stackId.getStackName(), stackId.getStackVersion(),
           hostComponent.getServiceName(), hostComponent.getComponentName());
 
@@ -260,6 +276,14 @@ public class HostVersionOutOfSyncListener {
           String serviceName = event.getServiceName();
           for (ServiceComponent comp : affectedHosts.get(hostName)) {
             String componentName = comp.getName();
+
+            // Skip lookup if stack does not contain the component
+            if (!ami.get().isValidServiceComponent(repositoryVersion.getStackName(),
+                repositoryVersion.getStackVersion(), serviceName, componentName)) {
+              LOG.debug("Component not found is host stack, stack={}, version={}, service={}, component={}",
+                  repositoryVersion.getStackName(), repositoryVersion.getStackVersion(), serviceName, componentName);
+              continue;
+            }
             ComponentInfo component = ami.get().getComponent(repositoryVersion.getStackName(),
                     repositoryVersion.getStackVersion(), serviceName, componentName);
             if (component.isVersionAdvertised()) {