ListenableFuture<Boolean> future = wm.updateResourcePlanAsync(appliedRp); boolean isOk = false; try {
wmThread.start(); updateResourcePlanAsync(plan).get(); // Wait for the initial resource plan to be applied.
wm.updateResourcePlanAsync(null).get(); wm.updateResourcePlanAsync(plan).get(); sessionA1 = (WmTezSession) wm.getSession(null, mappingInput("A", null), conf, null); assertEquals("A", sessionA1.getPoolName());
pool("A", 4, 1.0f))); plan.setMappings(Lists.newArrayList(mapping("A", "A"))); wm.updateResourcePlanAsync(plan); WmTezSession oob2 = pool.getSession(), oob3 = pool.getSession(), wm.updateResourcePlanAsync(plan); wm.addTestEvent().get(); assertEquals(0, pool.getCurrentSize()); wm.updateResourcePlanAsync(plan); oob2 = pool.getSession(); oob3 = pool.getSession(); plan = new WMFullResourcePlan(plan(), Lists.newArrayList(pool("A", 1, 1.0f))); plan.setMappings(Lists.newArrayList(mapping("A", "A"))); wm.updateResourcePlanAsync(plan); plan = new WMFullResourcePlan(plan(), Lists.newArrayList(pool("A", 2, 1.0f))); plan.setMappings(Lists.newArrayList(mapping("A", "A"))); wm.updateResourcePlanAsync(plan); wm.addTestEvent().get(); assertEquals(0, pool.getCurrentSize());
pool("A", 1, 0.6f), pool("B", 1, 0.4f))); plan.setMappings(Lists.newArrayList(mapping("U", "B"))); wm.updateResourcePlanAsync(plan);
plan.setMappings(Lists.newArrayList(mapping("A", "B"), mapping("B", "B"), mapping("C", "C"), mapping("D", "D"))); wm.updateResourcePlanAsync(plan); wm.addTestEvent().get();
wm.updateResourcePlanAsync(plan).get(); assertEquals(1f, sessionA1.getClusterFraction(), EPSILON); assertEquals(0f, sessionA2.getClusterFraction(), EPSILON);