You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yarn-commits@hadoop.apache.org by zj...@apache.org on 2014/04/02 02:01:51 UTC
svn commit: r1583833 - in /hadoop/common/trunk/hadoop-yarn-project: ./
hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/
hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/se...
Author: zjshen
Date: Wed Apr 2 00:01:50 2014
New Revision: 1583833
URL: http://svn.apache.org/r1583833
Log:
YARN-1898. Made Standby RM links conf, stacks, logLevel, metrics, jmx, logs and static not be redirected to Active RM. Contributed by Xuan Gong.
Modified:
hadoop/common/trunk/hadoop-yarn-project/CHANGES.txt
hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/TestRMFailover.java
hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/RMWebAppFilter.java
Modified: hadoop/common/trunk/hadoop-yarn-project/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-yarn-project/CHANGES.txt?rev=1583833&r1=1583832&r2=1583833&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-yarn-project/CHANGES.txt (original)
+++ hadoop/common/trunk/hadoop-yarn-project/CHANGES.txt Wed Apr 2 00:01:50 2014
@@ -73,7 +73,10 @@ Release 2.4.1 - UNRELEASED
OPTIMIZATIONS
- BUG FIXES
+ BUG FIXES
+
+ YARN-1898. Made Standby RM links conf, stacks, logLevel, metrics, jmx, logs
+ and static not be redirected to Active RM. (Xuan Gong via zjshen)
Release 2.4.0 - 2014-04-07
Modified: hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/TestRMFailover.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/TestRMFailover.java?rev=1583833&r1=1583832&r2=1583833&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/TestRMFailover.java (original)
+++ hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/TestRMFailover.java Wed Apr 2 00:01:50 2014
@@ -270,9 +270,33 @@ public class TestRMFailover extends Clie
String header = getHeader("Refresh", rm2Url);
assertTrue(header.contains("; url=" + rm1Url));
+ // standby RM links /conf, /stacks, /logLevel, /metrics, /jmx,
+ // /static, /logs, /cluster/cluster as well as webService
+ // /ws/v1/cluster/info should not be redirected to active RM
header = getHeader("Refresh", rm2Url + "/cluster/cluster");
assertEquals(null, header);
+ header = getHeader("Refresh", rm2Url + "/conf");
+ assertEquals(null, header);
+
+ header = getHeader("Refresh", rm2Url + "/stacks");
+ assertEquals(null, header);
+
+ header = getHeader("Refresh", rm2Url + "/logLevel");
+ assertEquals(null, header);
+
+ header = getHeader("Refresh", rm2Url + "/metrics");
+ assertEquals(null, header);
+
+ header = getHeader("Refresh", rm2Url + "/jmx");
+ assertEquals(null, header);
+
+ header = getHeader("Refresh", rm2Url + "/static");
+ assertEquals(null, header);
+
+ header = getHeader("Refresh", rm2Url + "/logs");
+ assertEquals(null, header);
+
header = getHeader("Refresh", rm2Url + "/ws/v1/cluster/info");
assertEquals(null, header);
Modified: hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/RMWebAppFilter.java
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/RMWebAppFilter.java?rev=1583833&r1=1583832&r2=1583833&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/RMWebAppFilter.java (original)
+++ hadoop/common/trunk/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/RMWebAppFilter.java Wed Apr 2 00:01:50 2014
@@ -20,6 +20,7 @@ package org.apache.hadoop.yarn.server.re
import java.io.IOException;
import java.io.PrintWriter;
+import java.util.Set;
import javax.inject.Inject;
import javax.inject.Singleton;
@@ -30,6 +31,7 @@ import javax.servlet.http.HttpServletRes
import org.apache.hadoop.http.HtmlQuoting;
+import com.google.common.collect.Sets;
import com.google.inject.Injector;
import com.sun.jersey.guice.spi.container.servlet.GuiceContainer;
@@ -42,6 +44,10 @@ public class RMWebAppFilter extends Guic
*/
private static final long serialVersionUID = 1L;
+ // define a set of URIs which do not need to do redirection
+ private static final Set<String> NON_REDIRECTED_URIS = Sets.newHashSet(
+ "/conf", "/stacks", "/logLevel", "/metrics", "/jmx", "/logs");
+
@Inject
public RMWebAppFilter(Injector injector) {
super(injector);
@@ -61,8 +67,7 @@ public class RMWebAppFilter extends Guic
RMWebApp rmWebApp = injector.getInstance(RMWebApp.class);
rmWebApp.checkIfStandbyRM();
if (rmWebApp.isStandby()
- && !uri.equals("/" + rmWebApp.wsName() + "/v1/cluster/info")
- && !uri.equals("/" + rmWebApp.name() + "/cluster")) {
+ && shouldRedirect(rmWebApp, uri)) {
String redirectPath = rmWebApp.getRedirectPath() + uri;
if (redirectPath != null && !redirectPath.isEmpty()) {
@@ -80,4 +85,9 @@ public class RMWebAppFilter extends Guic
}
+ private boolean shouldRedirect(RMWebApp rmWebApp, String uri) {
+ return !uri.equals("/" + rmWebApp.wsName() + "/v1/cluster/info")
+ && !uri.equals("/" + rmWebApp.name() + "/cluster")
+ && !NON_REDIRECTED_URIS.contains(uri);
+ }
}