This is an automated email from the ASF dual-hosted git repository. amagyar pushed a commit to branch branch-2.7 in repository https://gitbox.apache.org/repos/asf/ambari.git
The following commit(s) were added to refs/heads/branch-2.7 by this push: new 296a137 [AMBARI-25240] : Dynamically update Rolling Upgrade Batch size (#2927) 296a137 is described below commit 296a13713d757a555a79e1cb597d0a9461d40037 Author: virajjasani <34790606+virajjas...@users.noreply.github.com> AuthorDate: Thu May 30 15:16:37 2019 +0530 [AMBARI-25240] : Dynamically update Rolling Upgrade Batch size (#2927) * [AMBARI-25240] : Dynamically update Rolling Upgrade Batch size * minor code change --- .../org/apache/ambari/server/stack/MasterHostResolver.java | 11 +++++++++++ .../apache/ambari/server/state/stack/upgrade/Grouping.java | 9 +++++++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/ambari-server/src/main/java/org/apache/ambari/server/stack/MasterHostResolver.java b/ambari-server/src/main/java/org/apache/ambari/server/stack/MasterHostResolver.java index b018277..372c250 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/stack/MasterHostResolver.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/stack/MasterHostResolver.java @@ -313,6 +313,17 @@ public class MasterHostResolver { } /** + * Find Config value for current Cluster using configType and propertyName + * + * @param configType Config Type + * @param propertyName Property Name + * @return Value of property if present else null + */ + public String getValueFromDesiredConfigurations(final String configType, final String propertyName) { + return m_configHelper.getValueFromDesiredConfigurations(m_cluster, configType, propertyName); + } + + /** * Find the master and secondary namenode(s) based on JMX NameNodeStatus. */ private HostsType.HighAvailabilityHosts findMasterAndSecondaries(NameService nameService, Set<String> componentHosts) throws ClassifyNameNodeException { diff --git a/ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Grouping.java b/ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Grouping.java index 150c9fa..5f667ba 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Grouping.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/state/stack/upgrade/Grouping.java @@ -32,6 +32,7 @@ import javax.xml.bind.annotation.XmlSeeAlso; import org.apache.ambari.server.AmbariException; import org.apache.ambari.server.stack.HostsType; +import org.apache.ambari.server.state.ConfigHelper; import org.apache.ambari.server.state.UpgradeContext; import org.apache.ambari.server.state.stack.UpgradePack; import org.apache.ambari.server.state.stack.UpgradePack.OrderService; @@ -224,10 +225,14 @@ public class Grouping { // Expand some of the TaskWrappers into multiple based on the batch size. for (TaskWrapper tw : tasks) { - List<Set<String>> hostSets = null; - + List<Set<String>> hostSets; if (m_grouping.parallelScheduler != null) { int taskParallelism = m_grouping.parallelScheduler.maxDegreeOfParallelism; + String maxDegreeFromClusterEnv = ctx.getResolver() + .getValueFromDesiredConfigurations(ConfigHelper.CLUSTER_ENV, "max_degree_parallelism"); + if (StringUtils.isNotEmpty(maxDegreeFromClusterEnv) && StringUtils.isNumeric(maxDegreeFromClusterEnv)) { + taskParallelism = Integer.parseInt(maxDegreeFromClusterEnv); + } if (taskParallelism == Integer.MAX_VALUE) { taskParallelism = ctx.getDefaultMaxDegreeOfParallelism(); }