@Override public KillApplicationResponse run() throws IOException, YarnException { KillApplicationRequest req = KillApplicationRequest.newInstance(appid); return rm.getClientRMService().forceKillApplication(req); } });
@Override public KillApplicationResponse run() throws IOException, YarnException { KillApplicationRequest req = KillApplicationRequest.newInstance(appid); return rm.getClientRMService().forceKillApplication(req); } });
@Override public KillApplicationResponse run() throws IOException, YarnException { KillApplicationRequest req = KillApplicationRequest.newInstance(appid); if (diagnostic != null) { req.setDiagnostics(diagnostic); } return rm.getClientRMService().forceKillApplication(req); } });
@Test public void testForceKillNonExistingApplication() throws YarnException { RMContext rmContext = mock(RMContext.class); when(rmContext.getRMApps()).thenReturn( new ConcurrentHashMap<ApplicationId, RMApp>()); ClientRMService rmService = new ClientRMService(rmContext, null, null, null, null, null); ApplicationId applicationId = BuilderUtils.newApplicationId(System.currentTimeMillis(), 0); KillApplicationRequest request = KillApplicationRequest.newInstance(applicationId); try { rmService.forceKillApplication(request); Assert.fail(); } catch (ApplicationNotFoundException ex) { Assert.assertEquals(ex.getMessage(), "Trying to kill an absent " + "application " + request.getApplicationId()); } }
@Test public void testForceKillNonExistingApplication() throws YarnException { RMContext rmContext = mock(RMContext.class); when(rmContext.getRMApps()).thenReturn( new ConcurrentHashMap<ApplicationId, RMApp>()); ClientRMService rmService = new ClientRMService(rmContext, null, null, null, null, null); ApplicationId applicationId = BuilderUtils.newApplicationId(System.currentTimeMillis(), 0); KillApplicationRequest request = KillApplicationRequest.newInstance(applicationId); try { rmService.forceKillApplication(request); Assert.fail(); } catch (ApplicationNotFoundException ex) { Assert.assertEquals(ex.getMessage(), "Trying to kill an absent " + "application " + request.getApplicationId()); } }
@Test (timeout = 10000) public void testMoveTooLate() throws Exception { // Submit application Application application = new Application("user1", resourceManager); ApplicationId appId = application.getApplicationId(); application.submit(); ClientRMService clientRMService = resourceManager.getClientRMService(); // Kill the application clientRMService.forceKillApplication( KillApplicationRequest.newInstance(appId)); RMApp rmApp = resourceManager.getRMContext().getRMApps().get(appId); // wait until it's dead while (rmApp.getState() != RMAppState.KILLED) { Thread.sleep(100); } try { clientRMService.moveApplicationAcrossQueues( MoveApplicationAcrossQueuesRequest.newInstance(appId, "newqueue")); fail("Should have hit exception"); } catch (YarnException ex) { assertEquals(YarnException.class, ex.getClass()); assertEquals("App in KILLED state cannot be moved.", ex.getMessage()); } }
@Test (timeout = 10000) public void testMoveTooLate() throws Exception { // Submit application Application application = new Application("user1", resourceManager); ApplicationId appId = application.getApplicationId(); application.submit(); ClientRMService clientRMService = resourceManager.getClientRMService(); // Kill the application clientRMService.forceKillApplication( KillApplicationRequest.newInstance(appId)); RMApp rmApp = resourceManager.getRMContext().getRMApps().get(appId); // wait until it's dead while (rmApp.getState() != RMAppState.KILLED) { Thread.sleep(100); } try { clientRMService.moveApplicationAcrossQueues( MoveApplicationAcrossQueuesRequest.newInstance(appId, "newqueue")); fail("Should have hit exception"); } catch (YarnException ex) { assertEquals(YarnException.class, ex.getClass()); assertEquals("App in KILLED state cannot be moved.", ex.getMessage()); } }
for (int i = 0; i < 100; i++) { KillApplicationResponse killResponse1 = rmService.forceKillApplication(killRequest1); killAttemptCount++; if (killResponse1.getIsKillCompleted()) { rmService.forceKillApplication(killRequest2); assertTrue("Killing UnmanagedAM should falsely acknowledge true", killResponse2.getIsKillCompleted());
for (int i = 0; i < 100; i++) { KillApplicationResponse killResponse1 = rmService.forceKillApplication(killRequest1); killAttemptCount++; if (killResponse1.getIsKillCompleted()) { rmService.forceKillApplication(killRequest2); assertTrue("Killing UnmanagedAM should falsely acknowledge true", killResponse2.getIsKillCompleted());
rm.getClientRMService().forceKillApplication(request);
rm.getClientRMService().forceKillApplication(request);