/** * Set available resources. To be called by scheduler periodically as * resources become available. * @param limit resource limit */ public void setAvailableResourcesToQueue(Resource limit) { this.setAvailableResourcesToQueue(RMNodeLabelsManager.NO_LABEL, limit); }
/** * Set available resources. To be called by scheduler periodically as * resources become available. * @param user * @param limit resource limit */ public void setAvailableResourcesToUser(String user, Resource limit) { QueueMetrics userMetrics = getUserMetrics(user); if (userMetrics != null) { userMetrics.setAvailableResourcesToQueue(limit); } }
/** * Set available resources. To be called by scheduler periodically as * resources become available. * @param user * @param limit resource limit */ public void setAvailableResourcesToUser(String user, Resource limit) { QueueMetrics userMetrics = getUserMetrics(user); if (userMetrics != null) { userMetrics.setAvailableResourcesToQueue(limit); } }
private void updateAvailableResourcesMetrics() { metrics.setAvailableResourcesToQueue(Resources.subtract(clusterResource, usedResource)); }
private void updateAvailableResourcesMetrics() { metrics.setAvailableResourcesToQueue(Resources.subtract(clusterResource, usedResource)); }
/** * Set available resources. To be called by scheduler periodically as * resources become available. * @param partition Node Partition * @param user * @param limit resource limit */ public void setAvailableResourcesToUser(String partition, String user, Resource limit) { if(partition == null || partition.equals(RMNodeLabelsManager.NO_LABEL)) { QueueMetrics userMetrics = getUserMetrics(user); if (userMetrics != null) { userMetrics.setAvailableResourcesToQueue(partition, limit); } } }
private void updateAvailableResourcesMetrics() { metrics.setAvailableResourcesToQueue( Resources.subtract(getClusterResource(), usedResource)); }
@Test(timeout = 5000) public void testManyRuns() { QueueMetrics qm = QueueMetrics.forQueue(metricsSystem, "root", null, false, conf); qm.setAvailableResourcesToQueue(RMNodeLabelsManager.NO_LABEL, Resource.newInstance(1, 1)); int numIterations = 1000; long start = System.currentTimeMillis(); for (int i = 0; i < numIterations; i++) { ic.editSchedule(); } long end = System.currentTimeMillis(); System.out.println("Runtime per iteration (avg of " + numIterations + " iterations): " + (end - start) + " tot time"); }
@Test public void testViolation() { // create a "wrong" condition in which the invariants are not respected QueueMetrics qm = QueueMetrics.forQueue(metricsSystem, "root", null, false, conf); qm.setAvailableResourcesToQueue(RMNodeLabelsManager.NO_LABEL, Resource.newInstance(-1, -1)); // test with throwing exception turned on try { ic.editSchedule(); fail(); } catch (InvariantViolationException i) { // expected } // test log-only mode conf.setBoolean(MetricsInvariantChecker.THROW_ON_VIOLATION, false); ic.init(conf, null, null); ic.editSchedule(); }
childQueue.getMetrics().setAvailableResourcesToQueue( Resources.max( calculator,
childQueue.getMetrics().setAvailableResourcesToQueue( Resources.max( calculator,
checkApps(parentUserSource, 1, 1, 0, 0, 0, 0, true); parentMetrics.setAvailableResourcesToQueue(RMNodeLabelsManager.NO_LABEL, Resources.createResource(100*GB, 100)); metrics.setAvailableResourcesToQueue(RMNodeLabelsManager.NO_LABEL, Resources.createResource(100*GB, 100)); parentMetrics.setAvailableResourcesToUser(RMNodeLabelsManager.NO_LABEL,
checkApps(queueSource, 1, 1, 0, 0, 0, 0, true); metrics.setAvailableResourcesToQueue(Resources.createResource(100*GB, 100)); metrics.incrPendingResources(user, 5, Resources.createResource(3*GB, 3));
checkApps(queueSource, 1, 1, 0, 0, 0, 0, true); metrics.setAvailableResourcesToQueue(RMNodeLabelsManager.NO_LABEL, Resources.createResource(100*GB, 100)); metrics.incrPendingResources(RMNodeLabelsManager.NO_LABEL,
checkApps(parentUserSource, 1, 1, 0, 0, 0, 0, true); parentMetrics.setAvailableResourcesToQueue(Resources.createResource(100*GB, 100)); metrics.setAvailableResourcesToQueue(Resources.createResource(100*GB, 100)); parentMetrics.setAvailableResourcesToUser(user, Resources.createResource(10*GB, 10)); metrics.setAvailableResourcesToUser(user, Resources.createResource(10*GB, 10));
checkApps(userSource, 1, 1, 0, 0, 0, 0, true); metrics.setAvailableResourcesToQueue(Resources.createResource(100*GB, 100)); metrics.setAvailableResourcesToUser(user, Resources.createResource(10*GB, 10)); metrics.incrPendingResources(user, 5, Resources.createResource(3*GB, 3));
checkApps(userSource, 1, 1, 0, 0, 0, 0, true); metrics.setAvailableResourcesToQueue(RMNodeLabelsManager.NO_LABEL, Resources.createResource(100*GB, 100)); metrics.setAvailableResourcesToUser(RMNodeLabelsManager.NO_LABEL,