public void reinitializeQueueLabels(Map<String, Set<String>> queueToLabels) { try { writeLock.lock(); // clear before set this.queueCollections.clear(); for (Entry<String, Set<String>> entry : queueToLabels.entrySet()) { String queue = entry.getKey(); Queue q = new Queue(); this.queueCollections.put(queue, q); Set<String> labels = entry.getValue(); if (labels.contains(ANY)) { continue; } q.accessibleNodeLabels.addAll(labels); for (Host host : nodeCollections.values()) { for (Entry<NodeId, Node> nentry : host.nms.entrySet()) { NodeId nodeId = nentry.getKey(); Node nm = nentry.getValue(); if (nm.running && isNodeUsableByQueue(getLabelsByNode(nodeId), q)) { Resources.addTo(q.resource, nm.resource); } } } } } finally { writeLock.unlock(); } }
public void reinitializeQueueLabels(Map<String, Set<String>> queueToLabels) { try { writeLock.lock(); // clear before set this.queueCollections.clear(); for (Entry<String, Set<String>> entry : queueToLabels.entrySet()) { String queue = entry.getKey(); Queue q = new Queue(); this.queueCollections.put(queue, q); Set<String> labels = entry.getValue(); if (labels.contains(ANY)) { continue; } q.acccessibleNodeLabels.addAll(labels); for (Host host : nodeCollections.values()) { for (Entry<NodeId, Node> nentry : host.nms.entrySet()) { NodeId nodeId = nentry.getKey(); Node nm = nentry.getValue(); if (nm.running && isNodeUsableByQueue(getLabelsByNode(nodeId), q)) { Resources.addTo(q.resource, nm.resource); } } } } } finally { writeLock.unlock(); } }
public void reinitializeQueueLabels(Map<String, Set<String>> queueToLabels) { try { writeLock.lock(); // clear before set this.queueCollections.clear(); for (Entry<String, Set<String>> entry : queueToLabels.entrySet()) { String queue = entry.getKey(); Queue q = new Queue(); this.queueCollections.put(queue, q); Set<String> labels = entry.getValue(); if (labels.contains(ANY)) { continue; } q.acccessibleNodeLabels.addAll(labels); for (Host host : nodeCollections.values()) { for (Entry<NodeId, Node> nentry : host.nms.entrySet()) { NodeId nodeId = nentry.getKey(); Node nm = nentry.getValue(); if (nm.running && isNodeUsableByQueue(getLabelsByNode(nodeId), q)) { Resources.addTo(q.resource, nm.resource); } } } } } finally { writeLock.unlock(); } }