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 2019/05/30 09:46:42 UTC
[ambari] branch branch-2.7 updated: [AMBARI-25240] : Dynamically
update Rolling Upgrade Batch size (#2927)
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 <34...@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();
}