public void checkPriority(CSQueue queue, int expectedPriority) { Assert.assertEquals(expectedPriority, queue.getPriority().getPriority()); }
private List<CSQueue> mockCSQueues(String[] queueNames, int[] priorities, float[] utilizations, float[] absCapacities, String partition) { // sanity check assert queueNames != null && priorities != null && utilizations != null && queueNames.length > 0 && queueNames.length == priorities.length && priorities.length == utilizations.length; List<CSQueue> list = new ArrayList<>(); for (int i = 0; i < queueNames.length; i++) { CSQueue q = mock(CSQueue.class); when(q.getQueueName()).thenReturn(queueNames[i]); QueueCapacities qc = new QueueCapacities(false); qc.setAbsoluteCapacity(partition, absCapacities[i]); qc.setUsedCapacity(partition, utilizations[i]); when(q.getQueueCapacities()).thenReturn(qc); when(q.getPriority()).thenReturn(Priority.newInstance(priorities[i])); QueueResourceQuotas qr = new QueueResourceQuotas(); when(q.getQueueResourceQuotas()).thenReturn(qr); list.add(q); } return list; }
private int compare(CSQueue q1, CSQueue q2, float q1Used, float q2Used, String partition) { int p1 = 0; int p2 = 0; if (respectPriority) { p1 = q1.getPriority().getPriority(); p2 = q2.getPriority().getPriority(); } int rc = PriorityUtilizationQueueOrderingPolicy.compare(q1Used, q2Used, p1, p2); // For queue with same used ratio / priority, queue with higher configured // capacity goes first if (0 == rc) { Resource minEffRes1 = q1.getQueueResourceQuotas().getConfiguredMinResource(partition); Resource minEffRes2 = q2.getQueueResourceQuotas().getConfiguredMinResource(partition); if (!minEffRes1.equals(Resources.none()) && !minEffRes2.equals( Resources.none())) { return minEffRes2.compareTo(minEffRes1); } float abs1 = q1.getQueueCapacities().getAbsoluteCapacity(partition); float abs2 = q2.getQueueCapacities().getAbsoluteCapacity(partition); return Float.compare(abs2, abs1); } return rc; }
queueExprArray[idx]); if (otherConfigs.containsKey("priority")) { when(queue.getPriority()).thenReturn( Priority.newInstance(Integer.valueOf(otherConfigs.get("priority")))); } else { when(queue.getPriority()).thenReturn(Priority.newInstance(0));
CapacitySchedulerConfiguration.QUEUE_PRIORITY_UTILIZATION_ORDERING_POLICY, configuredOrderingPolicy)) { subq.relativePriority = c.getPriority().getPriority();