@Override public synchronized void removeContainerRequest(T req) { Preconditions.checkArgument(req != null, "Resource request can not be null."); Resource resource = checkAndGetResourceProfile(req.getResourceProfile(), req.getCapability()); Set<String> allRacks = new HashSet<String>(); if (req.getRacks() != null) { allRacks.addAll(req.getRacks()); } allRacks.addAll(resolveRacks(req.getNodes())); // Update resource requests if (req.getNodes() != null) { for (String node : new HashSet<String>(req.getNodes())) { decResourceRequest(req.getPriority(), node, req.getExecutionTypeRequest(), resource, req); } } for (String rack : allRacks) { decResourceRequest(req.getPriority(), rack, req.getExecutionTypeRequest(), resource, req); } decResourceRequest(req.getPriority(), ResourceRequest.ANY, req.getExecutionTypeRequest(), resource, req); }
req.getExecutionTypeRequest(), resource, req, true, req.getNodeLabelExpression()); addResourceRequest(req.getPriority(), rack, req.getExecutionTypeRequest(), resource, req, true, req.getNodeLabelExpression()); addResourceRequest(req.getPriority(), rack, req.getExecutionTypeRequest(), resource, req, req.getRelaxLocality(), req.getNodeLabelExpression()); req.getExecutionTypeRequest(), resource, req, req.getRelaxLocality(), req.getNodeLabelExpression());