public void testParseSchedulingPolicy() throws AllocationConfigurationException { // Class name SchedulingPolicy sm = SchedulingPolicy .parse(FairSharePolicy.class.getName()); assertTrue("Invalid scheduler name", sm.getName().equals(FairSharePolicy.NAME)); // Canonical name sm = SchedulingPolicy.parse(FairSharePolicy.class .getCanonicalName()); assertTrue("Invalid scheduler name", sm.getName().equals(FairSharePolicy.NAME)); // Class sm = SchedulingPolicy.getInstance(FairSharePolicy.class); assertTrue("Invalid scheduler name", sm.getName().equals(FairSharePolicy.NAME)); // Shortname - drf sm = SchedulingPolicy.parse("drf"); assertTrue("Invalid scheduler name", sm.getName().equals(DominantResourceFairnessPolicy.NAME)); // Shortname - fair sm = SchedulingPolicy.parse("fair"); assertTrue("Invalid scheduler name", sm.getName().equals(FairSharePolicy.NAME)); // Shortname - fifo sm = SchedulingPolicy.parse("fifo"); assertTrue("Invalid scheduler name", sm.getName().equals(FifoPolicy.NAME)); }
@Override protected void dumpStateInternal(StringBuilder sb) { sb.append("{Name: " + getName() + ", Weight: " + weights + ", Policy: " + policy.getName() + ", FairShare: " + getFairShare() + ", SteadyFairShare: " + getSteadyFairShare() + ", MaxShare: " + getMaxShare() + ", MinShare: " + minShare + ", ResourceUsage: " + getResourceUsage() + ", Demand: " + getDemand() + ", MaxAMShare: " + maxAMShare + ", Runnable: " + getNumRunnableApps() + "}"); for(FSQueue child : getChildQueues()) { sb.append(", "); child.dumpStateInternal(sb); } } }
.parse(FairSharePolicy.class.getName()); assertTrue("Invalid scheduler name", sm.getName().equals(FairSharePolicy.NAME)); .getCanonicalName()); assertTrue("Invalid scheduler name", sm.getName().equals(FairSharePolicy.NAME)); sm.getName().equals(FairSharePolicy.NAME)); sm.getName().equals(DominantResourceFairnessPolicy.NAME)); sm.getName().equals(FairSharePolicy.NAME)); sm.getName().equals(FifoPolicy.NAME));
@Override protected void dumpStateInternal(StringBuilder sb) { sb.append("{Name: " + getName() + ", Weight: " + weights + ", Policy: " + policy.getName() + ", FairShare: " + getFairShare() + ", SteadyFairShare: " + getSteadyFairShare() + ", MaxShare: " + getMaxShare() + ", MinShare: " + minShare + ", ResourceUsage: " + getResourceUsage() + ", Demand: " + getDemand() + ", Runnable: " + getNumRunnableApps() + ", NumPendingApps: " + getNumPendingApps() + ", NonRunnable: " + getNumNonRunnableApps() + ", MaxAMShare: " + maxAMShare + ", MaxAMResource: " + computeMaxAMResource() + ", AMResourceUsage: " + getAmResourceUsage() + ", LastTimeAtMinShare: " + lastTimeAtMinShare + "}"); }
assertEquals(queue.getMetrics().getMaxApps(), Integer.MAX_VALUE); assertEquals(queue.getMetrics().getSchedulingPolicy(), SchedulingPolicy.DEFAULT_POLICY.getName());
@Test public void testUpdateDemand() { conf.set(FairSchedulerConfiguration.ASSIGN_MULTIPLE, "false"); resourceManager = new MockRM(conf); resourceManager.start(); scheduler = (FairScheduler) resourceManager.getResourceScheduler(); String queueName = "root.queue1"; FSLeafQueue schedulable = new FSLeafQueue(queueName, scheduler, null); schedulable.setMaxShare(new ConfigurableResource(maxResource)); assertEquals(schedulable.getMetrics().getMaxApps(), Integer.MAX_VALUE); assertEquals(schedulable.getMetrics().getSchedulingPolicy(), SchedulingPolicy.DEFAULT_POLICY.getName()); FSAppAttempt app = mock(FSAppAttempt.class); Mockito.when(app.getDemand()).thenReturn(maxResource); Mockito.when(app.getResourceUsage()).thenReturn(Resources.none()); schedulable.addApp(app, true); schedulable.addApp(app, true); schedulable.updateDemand(); assertTrue("Demand is greater than max allowed ", Resources.equals(schedulable.getDemand(), maxResource)); }
schedulingPolicy = queue.getPolicy().getName();
schedulingPolicy = queue.getPolicy().getName();
/** * Initialize a {@link FSQueue} with queue-specific properties and its * metrics. * @param queue the FSQueue needed to be initialized */ public void initFSQueue(FSQueue queue){ // Set queue-specific properties. String name = queue.getName(); queue.setWeights(getQueueWeight(name)); queue.setMinShare(getMinResources(name)); queue.setMaxShare(getMaxResources(name)); queue.setMaxRunningApps(getQueueMaxApps(name)); queue.setMaxAMShare(getQueueMaxAMShare(name)); queue.setMaxChildQueueResource(getMaxChildResources(name)); queue.setMaxContainerAllocation(getQueueMaxContainerAllocation(name)); // Set queue metrics. queue.getMetrics().setMinShare(queue.getMinShare()); queue.getMetrics().setMaxShare(queue.getMaxShare()); queue.getMetrics().setMaxApps(queue.getMaxRunningApps()); queue.getMetrics().setSchedulingPolicy(getSchedulingPolicy(name).getName()); } }
schedulingPolicy = queue.getPolicy().getName();