YARN-3526. ApplicationMaster tracking URL is incorrectly redirected on a QJM cluster. Contributed by Weiwei Yang
(cherry picked from commitb0ad644083
) (cherry picked from commit802676e1be
)
This commit is contained in:
parent
3c51654d57
commit
411c09b613
|
@ -95,6 +95,9 @@ Release 2.7.1 - UNRELEASED
|
||||||
YARN-3641. NodeManager: stopRecoveryStore() shouldn't be skipped when
|
YARN-3641. NodeManager: stopRecoveryStore() shouldn't be skipped when
|
||||||
exceptions happen in stopping NM's sub-services. (Junping Du via jlowe)
|
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.7.0 - 2015-04-20
|
Release 2.7.0 - 2015-04-20
|
||||||
|
|
||||||
INCOMPATIBLE CHANGES
|
INCOMPATIBLE CHANGES
|
||||||
|
|
|
@ -326,6 +326,9 @@ public class TestRMFailover extends ClientBaseWithFixes {
|
||||||
header = getHeader("Refresh", rm2Url + "/ws/v1/cluster/apps");
|
header = getHeader("Refresh", rm2Url + "/ws/v1/cluster/apps");
|
||||||
assertTrue(header.contains("; url=" + rm1Url));
|
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,
|
// Due to the limitation of MiniYARNCluster and dispatcher is a singleton,
|
||||||
// we couldn't add the test case after explicitFailover();
|
// we couldn't add the test case after explicitFailover();
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,6 +30,7 @@ import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
import org.apache.hadoop.http.HtmlQuoting;
|
import org.apache.hadoop.http.HtmlQuoting;
|
||||||
|
import org.apache.hadoop.yarn.server.webproxy.ProxyUriUtils;
|
||||||
|
|
||||||
import com.google.common.collect.Sets;
|
import com.google.common.collect.Sets;
|
||||||
import com.google.inject.Injector;
|
import com.google.inject.Injector;
|
||||||
|
@ -88,6 +89,7 @@ public class RMWebAppFilter extends GuiceContainer {
|
||||||
private boolean shouldRedirect(RMWebApp rmWebApp, String uri) {
|
private boolean shouldRedirect(RMWebApp rmWebApp, String uri) {
|
||||||
return !uri.equals("/" + rmWebApp.wsName() + "/v1/cluster/info")
|
return !uri.equals("/" + rmWebApp.wsName() + "/v1/cluster/info")
|
||||||
&& !uri.equals("/" + rmWebApp.name() + "/cluster")
|
&& !uri.equals("/" + rmWebApp.name() + "/cluster")
|
||||||
|
&& !uri.startsWith(ProxyUriUtils.PROXY_BASE)
|
||||||
&& !NON_REDIRECTED_URIS.contains(uri);
|
&& !NON_REDIRECTED_URIS.contains(uri);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue