public void tryToSchedule(Map<ExecutorDetails, String> execToComp, RAS_Node node, WorkerSlot workerSlot) { ExecutorDetails exec = currentExec(); String comp = execToComp.get(exec); LOG.trace("Trying assignment of {} {} to {}", exec, comp, workerSlot); //It is possible that this component is already scheduled on this node or worker. If so when we backtrack we cannot remove it okToRemoveFromWorker[execIndex] = workerCompAssignment.computeIfAbsent(workerSlot, (k) -> new HashSet<>()).add(comp); okToRemoveFromNode[execIndex] = nodeCompAssignment.computeIfAbsent(node, (k) -> new HashSet<>()).add(comp); node.assignSingleExecutor(workerSlot, exec, td); }
if (targetSlot != null) { RAS_Node targetNode = idToNode(targetSlot.getNodeId()); targetNode.assignSingleExecutor(targetSlot, exec, td); scheduledTasks.add(exec); LOG.debug(