YARN-3526. ApplicationMaster tracking URL is incorrectly redirected on a QJM cluster. Contributed by Weiwei Yang
(cherry picked from commit b0ad644083a0dfae3a39159ac88b6fc09d846371) (cherry picked from commit 802676e1be350785d8c0ad35f6676eeb85b2467b) (cherry picked from commit 2cadeb9e017c6a75db16e1f23b2accda04f12298) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/7b1a71a7 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/7b1a71a7 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/7b1a71a7 Branch: refs/heads/branch-2.6.1 Commit: 7b1a71a7ad5602dbeb5758a650812413c277c21c Parents: 778da79 Author: Xuan <[email protected]> Authored: Fri May 15 22:39:49 2015 -0700 Committer: Vinod Kumar Vavilapalli <[email protected]> Committed: Thu Sep 3 11:54:23 2015 -0700 ---------------------------------------------------------------------- hadoop-yarn-project/CHANGES.txt | 3 +++ .../test/java/org/apache/hadoop/yarn/client/TestRMFailover.java | 3 +++ .../hadoop/yarn/server/resourcemanager/webapp/RMWebAppFilter.java | 2 ++ 3 files changed, 8 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/7b1a71a7/hadoop-yarn-project/CHANGES.txt ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt index fc69a51..45522c2 100644 --- a/hadoop-yarn-project/CHANGES.txt +++ b/hadoop-yarn-project/CHANGES.txt @@ -138,6 +138,9 @@ Release 2.6.1 - UNRELEASED YARN-3641. NodeManager: stopRecoveryStore() shouldn't be skipped when exceptions happen in stopping NM's sub-services. (Junping Du via jlowe) + YARN-3526. ApplicationMaster tracking URL is incorrectly redirected + on a QJM cluster. (Weiwei Yang via xgong) + Release 2.6.0 - 2014-11-18 INCOMPATIBLE CHANGES http://git-wip-us.apache.org/repos/asf/hadoop/blob/7b1a71a7/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/TestRMFailover.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/TestRMFailover.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/TestRMFailover.java index 0634cc3..294aaaf 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/TestRMFailover.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/TestRMFailover.java @@ -321,6 +321,9 @@ public class TestRMFailover extends ClientBaseWithFixes { header = getHeader("Refresh", rm2Url + "/ws/v1/cluster/apps"); assertTrue(header.contains("; url=" + rm1Url)); + header = getHeader("Refresh", rm2Url + "/proxy/" + fakeAppId); + assertEquals(null, header); + // Due to the limitation of MiniYARNCluster and dispatcher is a singleton, // we couldn't add the test case after explicitFailover(); } http://git-wip-us.apache.org/repos/asf/hadoop/blob/7b1a71a7/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/RMWebAppFilter.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/RMWebAppFilter.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/RMWebAppFilter.java index 49fd1f5..9be07e1 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/RMWebAppFilter.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/RMWebAppFilter.java @@ -30,6 +30,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.hadoop.http.HtmlQuoting; +import org.apache.hadoop.yarn.server.webproxy.ProxyUriUtils; import com.google.common.collect.Sets; import com.google.inject.Injector; @@ -88,6 +89,7 @@ public class RMWebAppFilter extends GuiceContainer { private boolean shouldRedirect(RMWebApp rmWebApp, String uri) { return !uri.equals("/" + rmWebApp.wsName() + "/v1/cluster/info") && !uri.equals("/" + rmWebApp.name() + "/cluster") + && !uri.startsWith(ProxyUriUtils.PROXY_BASE) && !NON_REDIRECTED_URIS.contains(uri); } }
