private String defaultPrefix(String controller, String action) { if (controller.equals("default") && action.equals("index")) { return "/"; } if (action.equals("index")) { return join('/', controller); } return pjoin("", controller, action); }
private String defaultPrefix(String controller, String action) { if (controller.equals("default") && action.equals("index")) { return "/"; } if (action.equals("index")) { return join('/', controller); } return pjoin("", controller, action); }
private String defaultPrefix(String controller, String action) { if (controller.equals("default") && action.equals("index")) { return "/"; } if (action.equals("index")) { return join('/', controller); } return pjoin("", controller, action); }
private Dest resolveAction(WebApp.HTTP method, Dest dest, String path) { if (dest.prefix.length() == 1) { return null; } checkState(!isGoodMatch(dest, path), dest.prefix); checkState(SLASH.countIn(path) > 1, path); List<String> parts = WebApp.parseRoute(path); String controller = parts.get(WebApp.R_CONTROLLER); String action = parts.get(WebApp.R_ACTION); return add(method, pjoin("", controller, action), dest.controllerClass, action, null); } }
private Dest resolveAction(WebApp.HTTP method, Dest dest, String path) { if (dest.prefix.length() == 1) { return null; } checkState(!isGoodMatch(dest, path), dest.prefix); checkState(SLASH.countIn(path) > 1, path); List<String> parts = WebApp.parseRoute(path); String controller = parts.get(WebApp.R_CONTROLLER); String action = parts.get(WebApp.R_ACTION); return add(method, pjoin("", controller, action), dest.controllerClass, action, null); } }
private Dest resolveAction(WebApp.HTTP method, Dest dest, String path) { if (dest.prefix.length() == 1) { return null; } checkState(!isGoodMatch(dest, path), dest.prefix); checkState(SLASH.countIn(path) > 1, path); List<String> parts = WebApp.parseRoute(path); String controller = parts.get(WebApp.R_CONTROLLER); String action = parts.get(WebApp.R_ACTION); return add(method, pjoin("", controller, action), dest.controllerClass, action, null); } }
/** * Default constructor */ public WebAppProxyServlet() { super(); conf = new YarnConfiguration(); this.trackingUriPlugins = conf.getInstances(YarnConfiguration.YARN_TRACKING_URL_GENERATOR, TrackingUriPlugin.class); this.rmAppPageUrlBase = StringHelper.pjoin(WebAppUtils.getResolvedRMWebAppURLWithScheme(conf), "cluster", "app"); this.failurePageUrlBase = StringHelper.pjoin(WebAppUtils.getResolvedRMWebAppURLWithScheme(conf), "cluster", "failure"); this.ahsAppPageUrlBase = StringHelper.pjoin(WebAppUtils.getHttpSchemePrefix(conf) + WebAppUtils.getAHSWebAppURLWithoutScheme(conf), "applicationhistory", "app"); }
/** * Default constructor */ public WebAppProxyServlet() { super(); conf = new YarnConfiguration(); this.trackingUriPlugins = conf.getInstances(YarnConfiguration.YARN_TRACKING_URL_GENERATOR, TrackingUriPlugin.class); this.rmAppPageUrlBase = StringHelper.pjoin( WebAppUtils.getResolvedRMWebAppURLWithScheme(conf), "cluster", "app"); this.ahsAppPageUrlBase = StringHelper.pjoin( WebAppUtils.getHttpSchemePrefix(conf) + WebAppUtils .getAHSWebAppURLWithoutScheme(conf), "applicationhistory", "app"); }
/** * Default constructor */ public WebAppProxyServlet() { super(); conf = new YarnConfiguration(); this.trackingUriPlugins = conf.getInstances(YarnConfiguration.YARN_TRACKING_URL_GENERATOR, TrackingUriPlugin.class); this.rmAppPageUrlBase = StringHelper.pjoin( WebAppUtils.getResolvedRMWebAppURLWithScheme(conf), "cluster", "app"); this.ahsAppPageUrlBase = StringHelper.pjoin( WebAppUtils.getHttpSchemePrefix(conf) + WebAppUtils .getAHSWebAppURLWithoutScheme(conf), "applicationhistory", "app"); }
private void setTrackingUrlToRMAppPage(RMAppAttemptState stateToBeStored) { originalTrackingUrl = pjoin( WebAppUtils.getResolvedRMWebAppURLWithScheme(conf), "cluster", "app", getAppAttemptId().getApplicationId()); switch (stateToBeStored) { case KILLED: case FAILED: proxiedTrackingUrl = originalTrackingUrl; break; default: break; } }
/** * Default constructor */ public WebAppProxyServlet() { super(); conf = new YarnConfiguration(); this.trackingUriPlugins = conf.getInstances(YarnConfiguration.YARN_TRACKING_URL_GENERATOR, TrackingUriPlugin.class); this.rmAppPageUrlBase = StringHelper.pjoin( WebAppUtils.getResolvedRMWebAppURLWithScheme(conf), "cluster", "app"); this.ahsAppPageUrlBase = StringHelper.pjoin( WebAppUtils.getHttpSchemePrefix(conf) + WebAppUtils .getAHSWebAppURLWithoutScheme(conf), "applicationhistory", "app"); }
private void setTrackingUrlToRMAppPage(RMAppAttemptState stateToBeStored) { originalTrackingUrl = pjoin( WebAppUtils.getResolvedRMWebAppURLWithScheme(conf), "cluster", "app", getAppAttemptId().getApplicationId()); switch (stateToBeStored) { case KILLED: case FAILED: proxiedTrackingUrl = originalTrackingUrl; break; default: break; } }
private void setTrackingUrlToRMAppPage(RMAppAttemptState stateToBeStored) { originalTrackingUrl = pjoin( WebAppUtils.getResolvedRMWebAppURLWithScheme(conf), "cluster", "app", getAppAttemptId().getApplicationId()); switch (stateToBeStored) { case KILLED: case FAILED: proxiedTrackingUrl = originalTrackingUrl; break; default: break; } }
@Inject public RMWebAppFilter(Injector injector, Configuration conf) { super(injector); this.injector=injector; InetSocketAddress sock = YarnConfiguration.useHttps(conf) ? conf.getSocketAddr(YarnConfiguration.RM_WEBAPP_HTTPS_ADDRESS, YarnConfiguration.DEFAULT_RM_WEBAPP_HTTPS_ADDRESS, YarnConfiguration.DEFAULT_RM_WEBAPP_HTTPS_PORT) : conf.getSocketAddr(YarnConfiguration.RM_WEBAPP_ADDRESS, YarnConfiguration.DEFAULT_RM_WEBAPP_ADDRESS, YarnConfiguration.DEFAULT_RM_WEBAPP_PORT); path = sock.getHostName() + ":" + Integer.toString(sock.getPort()); path = YarnConfiguration.useHttps(conf) ? "https://" + path : "http://" + path; ahsEnabled = conf.getBoolean( YarnConfiguration.APPLICATION_HISTORY_ENABLED, YarnConfiguration.DEFAULT_APPLICATION_HISTORY_ENABLED); ahsPageURLPrefix = pjoin( WebAppUtils.getHttpSchemePrefix(conf) + WebAppUtils.getAHSWebAppURLWithoutScheme( conf), "applicationhistory"); }
private void setTrackingUrlToAHSPage(RMAppAttemptState stateToBeStored) { originalTrackingUrl = pjoin( WebAppUtils.getHttpSchemePrefix(conf) + WebAppUtils.getAHSWebAppURLWithoutScheme(conf), "applicationhistory", "app", getAppAttemptId().getApplicationId()); switch (stateToBeStored) { case KILLED: case FAILED: proxiedTrackingUrl = originalTrackingUrl; break; default: break; } }
private void setTrackingUrlToAHSPage(RMAppAttemptState stateToBeStored) { originalTrackingUrl = pjoin( WebAppUtils.getHttpSchemePrefix(conf) + WebAppUtils.getAHSWebAppURLWithoutScheme(conf), "applicationhistory", "app", getAppAttemptId().getApplicationId()); switch (stateToBeStored) { case KILLED: case FAILED: proxiedTrackingUrl = originalTrackingUrl; break; default: break; } }
private void setTrackingUrlToAHSPage(RMAppAttemptState stateToBeStored) { originalTrackingUrl = pjoin( WebAppUtils.getHttpSchemePrefix(conf) + WebAppUtils.getAHSWebAppURLWithoutScheme(conf), "applicationhistory", "app", getAppAttemptId().getApplicationId()); switch (stateToBeStored) { case KILLED: case FAILED: proxiedTrackingUrl = originalTrackingUrl; break; default: break; } }
@Test(timeout=10000) public void testLaunchedExpire() { Container amContainer = allocateApplicationAttempt(); launchApplicationAttempt(amContainer); applicationAttempt.handle(new RMAppAttemptEvent( applicationAttempt.getAppAttemptId(), RMAppAttemptEventType.EXPIRE)); assertEquals(YarnApplicationAttemptState.LAUNCHED, applicationAttempt.createApplicationAttemptState()); sendAttemptUpdateSavedEvent(applicationAttempt); assertEquals(RMAppAttemptState.FAILED, applicationAttempt.getAppAttemptState()); assertTrue("expire diagnostics missing", applicationAttempt.getDiagnostics().contains("timed out")); String rmAppPageUrl = pjoin(RM_WEBAPP_ADDR, "cluster", "app", applicationAttempt.getAppAttemptId().getApplicationId()); assertEquals(rmAppPageUrl, applicationAttempt.getOriginalTrackingUrl()); assertEquals(rmAppPageUrl, applicationAttempt.getTrackingUrl()); verifyTokenCount(applicationAttempt.getAppAttemptId(), 1); verifyApplicationAttemptFinished(RMAppAttemptState.FAILED); }
@Test(timeout=10000) public void testLaunchedExpire() { Container amContainer = allocateApplicationAttempt(); launchApplicationAttempt(amContainer); applicationAttempt.handle(new RMAppAttemptEvent( applicationAttempt.getAppAttemptId(), RMAppAttemptEventType.EXPIRE)); assertEquals(YarnApplicationAttemptState.LAUNCHED, applicationAttempt.createApplicationAttemptState()); sendAttemptUpdateSavedEvent(applicationAttempt); assertEquals(RMAppAttemptState.FAILED, applicationAttempt.getAppAttemptState()); assertTrue("expire diagnostics missing", applicationAttempt.getDiagnostics().contains("timed out")); String rmAppPageUrl = pjoin(RM_WEBAPP_ADDR, "cluster", "app", applicationAttempt.getAppAttemptId().getApplicationId()); assertEquals(rmAppPageUrl, applicationAttempt.getOriginalTrackingUrl()); assertEquals(rmAppPageUrl, applicationAttempt.getTrackingUrl()); verifyTokenCount(applicationAttempt.getAppAttemptId(), 1); verifyApplicationAttemptFinished(RMAppAttemptState.FAILED); }
@Test(timeout=20000) public void testRunningExpire() { Container amContainer = allocateApplicationAttempt(); launchApplicationAttempt(amContainer); runApplicationAttempt(amContainer, "host", 8042, "oldtrackingurl", false); applicationAttempt.handle(new RMAppAttemptEvent( applicationAttempt.getAppAttemptId(), RMAppAttemptEventType.EXPIRE)); assertEquals(YarnApplicationAttemptState.RUNNING, applicationAttempt.createApplicationAttemptState()); sendAttemptUpdateSavedEvent(applicationAttempt); assertEquals(RMAppAttemptState.FAILED, applicationAttempt.getAppAttemptState()); assertTrue("expire diagnostics missing", applicationAttempt.getDiagnostics().contains("timed out")); String rmAppPageUrl = pjoin(RM_WEBAPP_ADDR, "cluster", "app", applicationAttempt.getAppAttemptId().getApplicationId()); assertEquals(rmAppPageUrl, applicationAttempt.getOriginalTrackingUrl()); assertEquals(rmAppPageUrl, applicationAttempt.getTrackingUrl()); verifyTokenCount(applicationAttempt.getAppAttemptId(), 1); verifyAMHostAndPortInvalidated(); verifyApplicationAttemptFinished(RMAppAttemptState.FAILED); }