You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by jb...@apache.org on 2021/06/15 19:50:45 UTC
[hadoop] branch branch-3.3 updated: YARN-10767. Yarn Logs Command
retrying on Standby RM for 30 times. Contributed by D M Murali Krishna
Reddy.
This is an automated email from the ASF dual-hosted git repository.
jbrennan pushed a commit to branch branch-3.3
in repository https://gitbox.apache.org/repos/asf/hadoop.git
The following commit(s) were added to refs/heads/branch-3.3 by this push:
new 57ee423 YARN-10767. Yarn Logs Command retrying on Standby RM for 30 times. Contributed by D M Murali Krishna Reddy.
57ee423 is described below
commit 57ee4238ebebc4dc46eef327247c9ba666e81af7
Author: Jim Brennan <jb...@apache.org>
AuthorDate: Tue Jun 15 18:58:42 2021 +0000
YARN-10767. Yarn Logs Command retrying on Standby RM for 30 times. Contributed by D M Murali Krishna Reddy.
(cherry picked from commit 9a6a11c4522f34fa4245983d8719675036879d7a)
---
.../org/apache/hadoop/yarn/util/RMHAUtils.java | 3 ++-
.../hadoop/yarn/webapp/util/WebAppUtils.java | 26 +++++++++-------------
2 files changed, 12 insertions(+), 17 deletions(-)
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/RMHAUtils.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/RMHAUtils.java
index 2e996e9..1c37940 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/RMHAUtils.java
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/RMHAUtils.java
@@ -23,6 +23,7 @@ import java.util.Collection;
import java.util.List;
import org.apache.hadoop.classification.InterfaceAudience.Private;
import org.apache.hadoop.classification.InterfaceStability.Unstable;
+import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.CommonConfigurationKeys;
import org.apache.hadoop.ha.HAServiceProtocol;
import org.apache.hadoop.ha.HAServiceProtocol.HAServiceState;
@@ -35,7 +36,7 @@ import org.apache.hadoop.yarn.conf.YarnConfiguration;
@Unstable
public class RMHAUtils {
- public static String findActiveRMHAId(YarnConfiguration conf) {
+ public static String findActiveRMHAId(Configuration conf) {
YarnConfiguration yarnConf = new YarnConfiguration(conf);
Collection<String> rmIds =
yarnConf.getStringCollection(YarnConfiguration.RM_HA_IDS);
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/util/WebAppUtils.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/util/WebAppUtils.java
index 09daf42..5b57819 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/util/WebAppUtils.java
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/webapp/util/WebAppUtils.java
@@ -20,6 +20,7 @@ package org.apache.hadoop.yarn.webapp.util;
import static org.apache.hadoop.yarn.util.StringHelper.PATH_JOINER;
import java.io.IOException;
+import java.net.ConnectException;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.UnknownHostException;
@@ -97,24 +98,17 @@ public class WebAppUtils {
*/
public static <T, R> R execOnActiveRM(Configuration conf,
ThrowingBiFunction<String, T, R> func, T arg) throws Exception {
- String rm1Address = getRMWebAppURLWithScheme(conf, 0);
- try {
- return func.apply(rm1Address, arg);
- } catch (Exception e) {
- if (HAUtil.isHAEnabled(conf)) {
- int rms = HAUtil.getRMHAIds(conf).size();
- for (int i=1; i<rms; i++) {
- try {
- rm1Address = getRMWebAppURLWithScheme(conf, i);
- return func.apply(rm1Address, arg);
- } catch (Exception e1) {
- // ignore and try next one when RM is down
- e = e1;
- }
- }
+ int haIndex = 0;
+ if (HAUtil.isHAEnabled(conf)) {
+ String activeRMId = RMHAUtils.findActiveRMHAId(conf);
+ if (activeRMId != null) {
+ haIndex = new ArrayList<>(HAUtil.getRMHAIds(conf)).indexOf(activeRMId);
+ } else {
+ throw new ConnectException("No Active RM available");
}
- throw e;
}
+ String rm1Address = getRMWebAppURLWithScheme(conf, haIndex);
+ return func.apply(rm1Address, arg);
}
/** A BiFunction which throws on Exception. */
---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org