@Override public int compare(Priority o1, Priority o2) { return o1.getPriority() - o2.getPriority(); } };
private static void addToRunningTasksMap( TreeMap<Integer, TreeSet<TaskInfo>> runningTasks, TaskInfo taskInfo) { int priority = taskInfo.priority.getPriority(); TreeSet<TaskInfo> tasksAtpriority = runningTasks.get(priority); if (tasksAtpriority == null) { tasksAtpriority = new TreeSet<>(TASK_INFO_COMPARATOR); runningTasks.put(priority, tasksAtpriority); } tasksAtpriority.add(taskInfo); }
private static boolean removeFromRunningTaskMap(TreeMap<Integer, TreeSet<TaskInfo>> runningTasks, Object task, TaskInfo taskInfo) { int priority = taskInfo.priority.getPriority(); Set<TaskInfo> tasksAtPriority = runningTasks.get(priority); if (tasksAtPriority == null) return false; boolean result = tasksAtPriority.remove(taskInfo); if (tasksAtPriority.isEmpty()) { runningTasks.remove(priority); } return result; }
int priority = entry.getKey(); TreeSet<TaskInfo> atPriority = entry.getValue(); if (priority <= candidate.priority.getPriority()) { return false; // The tasks from now on are more important than the candidate.
if (failedUpdate != null && entry.getKey() == failedUpdate.priority.getPriority() && remainingCount > 0) {
taskInfo.task, Arrays.toString(potentialHosts), pendingPreemptions.get()); preemptTasks(entry.getKey().getPriority(), vertexNum(taskInfo), 1, potentialHosts); } else { if (LOG.isDebugEnabled()) { taskInfo.task, taskInfo.priority); preemptTasks(entry.getKey().getPriority(), vertexNum(taskInfo), 1, null); } else { if (LOG.isDebugEnabled()) {
@Override public synchronized void containersAllocated(List<Container> containers) { EventContext context = new EventContext(this); for (Container container : containers) { if (allocatedContainers.contains(container.getId())) { continue; } // We should never get a container on a node in the blacklist we // sent to YARN. If we do, something is wrong. Log the error and // reject the container. Else, bad things happen further along as // the tracking mechanisms assume one task per node. String host = container.getNodeId().getHost(); if (nodeInventory.isInUse(host)) { LOG.error( "Host is in use, but YARN allocated a container: " + DoYUtil.labelContainer(container) + " - container rejected." ); yarn.releaseContainer(container); continue; } // The container is fine. allocatedContainers.add(container.getId()); int priority = container.getPriority().getPriority(); int offset = priority - PRIORITY_OFFSET; if (offset < 0 || offset > prioritizedGroups.size()) { LOG.error("Container allocated with unknown priority " + DoYUtil.labelContainer(container)); continue; } context.setGroup(prioritizedGroups.get(offset)); context.group.containerAllocated(context, container); } }
if (nimbusMap.containsKey(containerId)) { Container nimbusContainer = nimbusMap.get(containerId); containerAsk = setupContainerAskForRM(nimbusContainer.getResource().getMemory(), nimbusContainer.getResource().getVirtualCores(), nimbusContainer.getPriority().getPriority(), nimbusContainer.getNodeId().getHost()); LOG.info("restart nimbus container" + ", containerId=" + containerStatus.getContainerId()); } else if (supervisorMap.containsKey(containerId)) { Container supervisorContainer = supervisorMap.get(containerId); containerAsk = setupContainerAskForRM(supervisorContainer.getResource().getMemory(), supervisorContainer.getResource().getVirtualCores(), supervisorContainer.getPriority().getPriority(), supervisorContainer.getNodeId().getHost()); LOG.info("restart supervisor container" + ", containerId=" + containerStatus.getContainerId());
if (container.getPriority().getPriority() == 0) jstormMasterContext.supervisorContainers.add(container); else if (container.getPriority().getPriority() == 1) { jstormMasterContext.nimbusContainers.add(container);
if (allocatedContainer.getPriority().getPriority() == 0) {
@Override public String toString() { return "{Priority: " + getPriority() + "}"; } }
@Override public String toString() { return "{Priority: " + getPriority() + "}"; } }
@Override public int hashCode() { final int prime = 517861; int result = 9511; result = prime * result + getPriority(); return result; }
@Override public int hashCode() { final int prime = 517861; int result = 9511; result = prime * result + getMaxPriority().getPriority(); result = prime * result + getDefaultPriority().getPriority(); return result; }
public AppPriorityACLGroup(Priority maxPriority, Priority defaultPriority, AccessControlList aclList) { this.setMaxPriority(Priority.newInstance(maxPriority.getPriority())); this.setDefaultPriority( Priority.newInstance(defaultPriority.getPriority())); this.setACLList(aclList); }
public synchronized void addResourceRequestSpec( Priority priority, Resource capability) { Resource currentSpec = requestSpec.put(priority, capability); if (currentSpec != null) { throw new IllegalStateException("Resource spec already exists for " + "priority " + priority.getPriority() + " - " + currentSpec.getMemory()); } }
TempAppPerPartition(FiCaSchedulerApp app, Resource usedPerPartition, Resource amUsedPerPartition, Resource reserved, Resource pendingPerPartition) { super(app.getQueueName(), usedPerPartition, amUsedPerPartition, reserved, pendingPerPartition); this.priority = app.getPriority().getPriority(); this.applicationId = app.getApplicationId(); this.app = app; }
private void handleJobPriorityChange(AllocateResponse response) { Priority priorityFromResponse = Priority.newInstance(response .getApplicationPriority().getPriority()); // Update the job priority to Job directly. getJob().setJobPriority(priorityFromResponse); }
private void verifyACLs(List<AppPriorityACLGroup> pGroup, String queueUser, String queueGroup, int maxPriority, int defaultPriority) { AppPriorityACLGroup group = pGroup.get(0); String aclString = queueUser + " " + queueGroup; Assert.assertEquals(aclString.trim(), group.getACLList().getAclString().trim()); Assert.assertEquals(maxPriority, group.getMaxPriority().getPriority()); Assert.assertEquals(defaultPriority, group.getDefaultPriority().getPriority()); } }
private void checkNodePartitionOfRequestedPriority(AppSchedulingInfo info, int priority, String expectedPartition) { for (SchedulerRequestKey key : info.getSchedulerKeys()) { if (key.getPriority().getPriority() == priority) { Assert.assertEquals("Expected partition is " + expectedPartition, expectedPartition, info.getAppPlacementAllocator(key) .getPrimaryRequestedNodePartition()); } } }