Repository: ambari Updated Branches: refs/heads/branch-2.2 47712103f -> af92f9046
AMBARI-14248. After ambari-server upgrade "start all" operation is triggered with 1 minute delay.(vbrodetskyi) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/af92f904 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/af92f904 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/af92f904 Branch: refs/heads/branch-2.2 Commit: af92f9046e71cf0c75b27badd51d56b3d10ea7f6 Parents: 4771210 Author: Vitaly Brodetskyi <[email protected]> Authored: Mon Dec 7 16:44:20 2015 +0200 Committer: Vitaly Brodetskyi <[email protected]> Committed: Mon Dec 7 16:45:11 2015 +0200 ---------------------------------------------------------------------- .../ambari/server/state/ConfigHelper.java | 55 +++++++++++--------- 1 file changed, 30 insertions(+), 25 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/af92f904/ambari-server/src/main/java/org/apache/ambari/server/state/ConfigHelper.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/state/ConfigHelper.java b/ambari-server/src/main/java/org/apache/ambari/server/state/ConfigHelper.java index 2acd62b..57d4db4 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/state/ConfigHelper.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/state/ConfigHelper.java @@ -17,20 +17,12 @@ */ package org.apache.ambari.server.state; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Iterator; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.Set; -import java.util.TreeMap; -import java.util.concurrent.TimeUnit; - +import com.google.common.cache.Cache; +import com.google.common.cache.CacheBuilder; +import com.google.common.collect.Maps; +import com.google.inject.Inject; +import com.google.inject.Singleton; +import com.google.inject.persist.Transactional; import org.apache.ambari.server.AmbariException; import org.apache.ambari.server.api.services.AmbariMetaInfo; import org.apache.ambari.server.configuration.Configuration; @@ -44,12 +36,19 @@ import org.apache.ambari.server.upgrade.UpgradeCatalog170; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.google.common.cache.Cache; -import com.google.common.cache.CacheBuilder; -import com.google.common.collect.Maps; -import com.google.inject.Inject; -import com.google.inject.Singleton; -import com.google.inject.persist.Transactional; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; +import java.util.TreeMap; +import java.util.concurrent.TimeUnit; /** * Helper class that works with config traversals. @@ -463,18 +462,24 @@ public class ConfigHelper { } public Set<String> getPropertyValuesWithPropertyType(StackId stackId, PropertyType propertyType, Cluster cluster) throws AmbariException { - StackInfo stack = ambariMetaInfo.getStack(stackId.getStackName(), - stackId.getStackVersion()); - + StackInfo stack = ambariMetaInfo.getStack(stackId.getStackName(), stackId.getStackVersion()); + Map<String, DesiredConfig> desiredConfigs = cluster.getDesiredConfigs(); + Map<String, Config> actualConfigs = new HashMap<>(); Set<String> result = new HashSet<String>(); + for (Map.Entry<String, DesiredConfig> desiredConfigEntry : desiredConfigs.entrySet()) { + String configType = desiredConfigEntry.getKey(); + DesiredConfig desiredConfig = desiredConfigEntry.getValue(); + actualConfigs.put(configType, cluster.getConfig(configType, desiredConfig.getTag())); + } + for (Service service : cluster.getServices().values()) { Set<PropertyInfo> serviceProperties = ambariMetaInfo.getServiceProperties(stack.getName(), stack.getVersion(), service.getName()); for (PropertyInfo serviceProperty : serviceProperties) { if (serviceProperty.getPropertyTypes().contains(propertyType)) { String stackPropertyConfigType = fileNameToConfigType(serviceProperty.getFilename()); try { - result.add(cluster.getDesiredConfigByType(stackPropertyConfigType).getProperties().get(serviceProperty.getName())); + result.add(actualConfigs.get(stackPropertyConfigType).getProperties().get(serviceProperty.getName())); } catch (Exception ex) { } } @@ -486,7 +491,7 @@ public class ConfigHelper { for (PropertyInfo stackProperty : stackProperties) { if (stackProperty.getPropertyTypes().contains(propertyType)) { String stackPropertyConfigType = fileNameToConfigType(stackProperty.getFilename()); - result.add(cluster.getDesiredConfigByType(stackPropertyConfigType).getProperties().get(stackProperty.getName())); + result.add(actualConfigs.get(stackPropertyConfigType).getProperties().get(stackProperty.getName())); } }
