http://git-wip-us.apache.org/repos/asf/hadoop/blob/339fd5f4/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/NodeAttributePBImpl.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/NodeAttributePBImpl.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/NodeAttributePBImpl.java index 0002567..689e2e6 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/NodeAttributePBImpl.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/NodeAttributePBImpl.java @@ -152,15 +152,19 @@ public class NodeAttributePBImpl extends NodeAttribute { } if (obj instanceof NodeAttribute) { NodeAttribute other = (NodeAttribute) obj; - getAttributeKey().equals(other.getAttributeKey()); - return true; + return getAttributeKey().equals(other.getAttributeKey()); } return false; } @Override public String toString() { - return getAttributeKey().toString() + ":Value-" + getAttributeValue() - + ":Type-" + getAttributeType(); + StringBuilder strBuilder = new StringBuilder(); + NodeAttributeKey key = this.getAttributeKey(); + strBuilder.append(key.getAttributePrefix()).append("/") + .append(key.getAttributeName()).append("(") + .append(this.getAttributeType()).append(")=") + .append(this.getAttributeValue()); + return strBuilder.toString(); } }
http://git-wip-us.apache.org/repos/asf/hadoop/blob/339fd5f4/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/NodeReportPBImpl.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/NodeReportPBImpl.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/NodeReportPBImpl.java index ced588d..7d5a06a 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/NodeReportPBImpl.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/NodeReportPBImpl.java @@ -18,17 +18,21 @@ package org.apache.hadoop.yarn.api.records.impl.pb; +import java.util.ArrayList; import java.util.HashSet; +import java.util.List; import java.util.Set; import org.apache.hadoop.classification.InterfaceAudience.Private; import org.apache.hadoop.classification.InterfaceStability.Unstable; +import org.apache.hadoop.yarn.api.records.NodeAttribute; import org.apache.hadoop.yarn.api.records.NodeId; import org.apache.hadoop.yarn.api.records.NodeReport; import org.apache.hadoop.yarn.api.records.NodeState; import org.apache.hadoop.yarn.api.records.NodeUpdateType; import org.apache.hadoop.yarn.api.records.Resource; import org.apache.hadoop.yarn.api.records.ResourceUtilization; +import org.apache.hadoop.yarn.proto.YarnProtos.NodeAttributeProto; import org.apache.hadoop.yarn.proto.YarnProtos.NodeIdProto; import org.apache.hadoop.yarn.proto.YarnProtos.NodeReportProto; import org.apache.hadoop.yarn.proto.YarnProtos.NodeReportProtoOrBuilder; @@ -50,6 +54,7 @@ public class NodeReportPBImpl extends NodeReport { private ResourceUtilization containersUtilization = null; private ResourceUtilization nodeUtilization = null; Set<String> labels; + private Set<NodeAttribute> nodeAttributes; public NodeReportPBImpl() { builder = NodeReportProto.newBuilder(); @@ -268,6 +273,14 @@ public class NodeReportPBImpl extends NodeReport { builder.clearNodeLabels(); builder.addAllNodeLabels(this.labels); } + if (this.nodeAttributes != null) { + builder.clearNodeAttributes(); + List<NodeAttributeProto> attrList = new ArrayList<>(); + for (NodeAttribute attr : this.nodeAttributes) { + attrList.add(convertToProtoFormat(attr)); + } + builder.addAllNodeAttributes(attrList); + } if (this.nodeUtilization != null && !((ResourceUtilizationPBImpl) this.nodeUtilization).getProto() .equals(builder.getNodeUtilization())) { @@ -306,7 +319,16 @@ public class NodeReportPBImpl extends NodeReport { private NodeIdProto convertToProtoFormat(NodeId nodeId) { return ((NodeIdPBImpl) nodeId).getProto(); } - + + private NodeAttributeProto convertToProtoFormat(NodeAttribute nodeAttr) { + return ((NodeAttributePBImpl) nodeAttr).getProto(); + } + + private NodeAttributePBImpl convertFromProtoFormat( + NodeAttributeProto nodeAttr) { + return new NodeAttributePBImpl(nodeAttr); + } + private ResourcePBImpl convertFromProtoFormat(ResourceProto p) { return new ResourcePBImpl(p); } @@ -427,4 +449,24 @@ public class NodeReportPBImpl extends NodeReport { } builder.setNodeUpdateType(ProtoUtils.convertToProtoFormat(nodeUpdateType)); } + + @Override + public void setNodeAttributes(Set<NodeAttribute> nodeAttrs) { + maybeInitBuilder(); + builder.clearNodeAttributes(); + this.nodeAttributes = nodeAttrs; + } + + @Override + public Set<NodeAttribute> getNodeAttributes() { + if (nodeAttributes != null) { + return nodeAttributes; + } + NodeReportProtoOrBuilder p = viaProto ? proto : builder; + this.nodeAttributes = new HashSet<>(); + for (NodeAttributeProto nattrProto : p.getNodeAttributesList()) { + nodeAttributes.add(convertFromProtoFormat(nattrProto)); + } + return nodeAttributes; + } } http://git-wip-us.apache.org/repos/asf/hadoop/blob/339fd5f4/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/utils/BuilderUtils.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/utils/BuilderUtils.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/utils/BuilderUtils.java index b6145c9..b9f35a5 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/utils/BuilderUtils.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/utils/BuilderUtils.java @@ -54,6 +54,7 @@ import org.apache.hadoop.yarn.api.records.FinalApplicationStatus; import org.apache.hadoop.yarn.api.records.LocalResource; import org.apache.hadoop.yarn.api.records.LocalResourceType; import org.apache.hadoop.yarn.api.records.LocalResourceVisibility; +import org.apache.hadoop.yarn.api.records.NodeAttribute; import org.apache.hadoop.yarn.api.records.NodeId; import org.apache.hadoop.yarn.api.records.NodeReport; import org.apache.hadoop.yarn.api.records.NodeState; @@ -199,7 +200,7 @@ public class BuilderUtils { NodeUpdateType nodeUpdateType) { return newNodeReport(nodeId, nodeState, httpAddress, rackName, used, capability, numContainers, healthReport, lastHealthReportTime, - nodeLabels, null, null, decommissioningTimeout, nodeUpdateType); + nodeLabels, null, null, decommissioningTimeout, nodeUpdateType, null); } public static NodeReport newNodeReport(NodeId nodeId, NodeState nodeState, @@ -207,7 +208,7 @@ public class BuilderUtils { int numContainers, String healthReport, long lastHealthReportTime, Set<String> nodeLabels, ResourceUtilization containersUtilization, ResourceUtilization nodeUtilization, Integer decommissioningTimeout, - NodeUpdateType nodeUpdateType) { + NodeUpdateType nodeUpdateType, Set<NodeAttribute> attrs) { NodeReport nodeReport = recordFactory.newRecordInstance(NodeReport.class); nodeReport.setNodeId(nodeId); nodeReport.setNodeState(nodeState); @@ -223,6 +224,7 @@ public class BuilderUtils { nodeReport.setNodeUtilization(nodeUtilization); nodeReport.setDecommissioningTimeout(decommissioningTimeout); nodeReport.setNodeUpdateType(nodeUpdateType); + nodeReport.setNodeAttributes(attrs); return nodeReport; } http://git-wip-us.apache.org/repos/asf/hadoop/blob/339fd5f4/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/AdminService.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/AdminService.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/AdminService.java index 77f8f66..601917a 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/AdminService.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/AdminService.java @@ -983,12 +983,11 @@ public class AdminService extends CompositeService implements List<NodeToAttributes> nodesToAttributes = request.getNodesToAttributes(); boolean failOnUnknownNodes = request.getFailOnUnknownNodes(); - Map<String, Set<NodeAttribute>> nodeAttributeMapping = - validateAndFetch(nodesToAttributes, failOnUnknownNodes); - NodeAttributesManager nodeAttributesManager = rm.getRMContext().getNodeAttributesManager(); try { + Map<String, Set<NodeAttribute>> nodeAttributeMapping = + validateAndFetch(nodesToAttributes, failOnUnknownNodes); switch (request.getOperation()) { case ADD: nodeAttributesManager.addNodeAttributes(nodeAttributeMapping); http://git-wip-us.apache.org/repos/asf/hadoop/blob/339fd5f4/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ClientRMService.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ClientRMService.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ClientRMService.java index ad796f6..4075332 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ClientRMService.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ClientRMService.java @@ -1050,8 +1050,9 @@ public class ClientRMService extends AbstractService implements if (schedulerNodeReport != null) { used = schedulerNodeReport.getUsedResource(); numContainers = schedulerNodeReport.getNumContainers(); - } + } + Set<NodeAttribute> attrs = rmNode.getAllNodeAttributes(); NodeReport report = BuilderUtils.newNodeReport(rmNode.getNodeID(), rmNode.getState(), rmNode.getHttpAddress(), rmNode.getRackName(), used, @@ -1059,7 +1060,7 @@ public class ClientRMService extends AbstractService implements rmNode.getHealthReport(), rmNode.getLastHealthReportTime(), rmNode.getNodeLabels(), rmNode.getAggregatedContainersUtilization(), rmNode.getNodeUtilization(), rmNode.getDecommissioningTimeout(), - null); + null, attrs); return report; } http://git-wip-us.apache.org/repos/asf/hadoop/blob/339fd5f4/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ResourceTrackerService.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ResourceTrackerService.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ResourceTrackerService.java index cbb5ecf..9c4d594 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ResourceTrackerService.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ResourceTrackerService.java @@ -673,10 +673,6 @@ public class ResourceTrackerService extends AbstractService implements this.rmContext.getNodeAttributesManager() .replaceNodeAttributes(NodeAttribute.PREFIX_DISTRIBUTED, ImmutableMap.of(nodeId.getHost(), nodeAttributes)); - - // Update node attributes to RMNode - rmNode.setNodeAttributes(NodeAttribute.PREFIX_DISTRIBUTED, - nodeAttributes); } } http://git-wip-us.apache.org/repos/asf/hadoop/blob/339fd5f4/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/nodelabels/NodeAttributesManagerImpl.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/nodelabels/NodeAttributesManagerImpl.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/nodelabels/NodeAttributesManagerImpl.java index 6eb4589..bf9de15 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/nodelabels/NodeAttributesManagerImpl.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/nodelabels/NodeAttributesManagerImpl.java @@ -34,7 +34,7 @@ import java.util.concurrent.locks.ReentrantReadWriteLock; import java.util.concurrent.locks.ReentrantReadWriteLock.ReadLock; import java.util.concurrent.locks.ReentrantReadWriteLock.WriteLock; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.hadoop.conf.Configuration; http://git-wip-us.apache.org/repos/asf/hadoop/blob/339fd5f4/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmnode/RMNode.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmnode/RMNode.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmnode/RMNode.java index 33e5ef4..c77d29c 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmnode/RMNode.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmnode/RMNode.java @@ -197,15 +197,8 @@ public interface RMNode { */ RMContext getRMContext(); - /** - * Sets node attributes per prefix. - * @param prefix node attribute prefix - * @param nodeAttributes node attributes - */ - void setNodeAttributes(String prefix, Set<NodeAttribute> nodeAttributes); - /** - * @return all node attributes grouped by their prefix as a map. + * @return all node attributes as a Set. */ - Map<String, Set<NodeAttribute>> getAllNodeAttributes(); + Set<NodeAttribute> getAllNodeAttributes(); } http://git-wip-us.apache.org/repos/asf/hadoop/blob/339fd5f4/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmnode/RMNodeImpl.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmnode/RMNodeImpl.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmnode/RMNodeImpl.java index e52b621..65a0c20 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmnode/RMNodeImpl.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmnode/RMNodeImpl.java @@ -59,7 +59,9 @@ import org.apache.hadoop.yarn.api.records.ResourceUtilization; import org.apache.hadoop.yarn.event.EventHandler; import org.apache.hadoop.yarn.factories.RecordFactory; import org.apache.hadoop.yarn.factory.providers.RecordFactoryProvider; +import org.apache.hadoop.yarn.nodelabels.AttributeValue; import org.apache.hadoop.yarn.nodelabels.CommonNodeLabelsManager; +import org.apache.hadoop.yarn.nodelabels.NodeAttributesManager; import org.apache.hadoop.yarn.server.api.protocolrecords.LogAggregationReport; import org.apache.hadoop.yarn.server.api.protocolrecords.NMContainerStatus; import org.apache.hadoop.yarn.server.api.protocolrecords.NodeHeartbeatResponse; @@ -186,9 +188,6 @@ public class RMNodeImpl implements RMNode, EventHandler<RMNodeEvent> { private NodeHeartbeatResponse latestNodeHeartBeatResponse = recordFactory .newRecordInstance(NodeHeartbeatResponse.class); - // Node attributes, store by prefix - private Map<String, Set<NodeAttribute>> nodeAttributes = new HashMap<>(); - private static final StateMachineFactory<RMNodeImpl, NodeState, RMNodeEventType, @@ -1552,13 +1551,10 @@ public class RMNodeImpl implements RMNode, EventHandler<RMNodeEvent> { } @Override - public void setNodeAttributes(String prefix, - Set<NodeAttribute> nodeAttributeSet) { - this.nodeAttributes.put(prefix, nodeAttributeSet); - } - - @Override - public Map<String, Set<NodeAttribute>> getAllNodeAttributes() { - return this.nodeAttributes; + public Set<NodeAttribute> getAllNodeAttributes() { + NodeAttributesManager attrMgr = context.getNodeAttributesManager(); + Map<NodeAttribute, AttributeValue> nodeattrs = + attrMgr.getAttributesForNode(hostName); + return nodeattrs.keySet(); } } http://git-wip-us.apache.org/repos/asf/hadoop/blob/339fd5f4/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/dao/NodeInfo.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/dao/NodeInfo.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/dao/NodeInfo.java index ecf66b9..7e5d20a 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/dao/NodeInfo.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/dao/NodeInfo.java @@ -116,16 +116,11 @@ public class NodeInfo { } // add attributes - Map<String, Set<NodeAttribute>> nodeAttributes = - ni.getAllNodeAttributes(); + Set<NodeAttribute> attrs = ni.getAllNodeAttributes(); nodeAttributesInfo = new NodeAttributesInfo(); - if (nodeAttributes != null) { - for (Set<NodeAttribute> attrs : nodeAttributes.values()) { - for (NodeAttribute attribute : attrs) { - NodeAttributeInfo info = new NodeAttributeInfo(attribute); - this.nodeAttributesInfo.addNodeAttributeInfo(info); - } - } + for (NodeAttribute attribute : attrs) { + NodeAttributeInfo info = new NodeAttributeInfo(attribute); + this.nodeAttributesInfo.addNodeAttributeInfo(info); } // add allocation tags http://git-wip-us.apache.org/repos/asf/hadoop/blob/339fd5f4/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/MockNodes.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/MockNodes.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/MockNodes.java index b6c0cc1..7c822b4 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/MockNodes.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/MockNodes.java @@ -292,8 +292,8 @@ public class MockNodes { } @Override - public Map<String, Set<NodeAttribute>> getAllNodeAttributes() { - return null; + public Set<NodeAttribute> getAllNodeAttributes() { + return Collections.emptySet(); } @Override http://git-wip-us.apache.org/repos/asf/hadoop/blob/339fd5f4/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestRMAdminService.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestRMAdminService.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestRMAdminService.java index 90945c2..a1b95b8 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestRMAdminService.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestRMAdminService.java @@ -1611,9 +1611,10 @@ public class TestRMAdminService { try { rm.adminService.mapAttributesToNodes(request); fail("host5 is not a valid node, It should have failed"); - } catch (Exception ex) { + } catch (YarnException ex) { Assert.assertEquals("Exception Message is not as desired", - " Following nodes does not exist : [host5]", ex.getMessage()); + " Following nodes does not exist : [host5]", + ex.getCause().getMessage()); } request = @@ -1633,10 +1634,10 @@ public class TestRMAdminService { // against hostname hence the message as : nodes does not exist. rm.adminService.mapAttributesToNodes(request); fail("host with the port should fail as only hostnames are validated"); - } catch (Exception ex) { + } catch (YarnException ex) { Assert.assertEquals("Exception Message is not as desired", " Following nodes does not exist : [host4:8889, host2:8889]", - ex.getMessage()); + ex.getCause().getMessage()); } request = @@ -1669,11 +1670,10 @@ public class TestRMAdminService { try { rm.adminService.mapAttributesToNodes(request); fail("This operation should fail as prefix should be \"nm.yarn.io\"."); - } catch (Exception ex) { + } catch (YarnException ex) { Assert.assertEquals("Exception Message is not as desired", "Invalid Attribute Mapping for the node host5. Prefix should be " - + "rm.yarn.io", - ex.getMessage()); + + "rm.yarn.io", ex.getCause().getMessage()); } rm.close(); http://git-wip-us.apache.org/repos/asf/hadoop/blob/339fd5f4/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/src/main/java/org/apache/hadoop/yarn/server/router/clientrm/FederationClientInterceptor.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/src/main/java/org/apache/hadoop/yarn/server/router/clientrm/FederationClientInterceptor.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/src/main/java/org/apache/hadoop/yarn/server/router/clientrm/FederationClientInterceptor.java index 46f0e89..f17a60a 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/src/main/java/org/apache/hadoop/yarn/server/router/clientrm/FederationClientInterceptor.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/src/main/java/org/apache/hadoop/yarn/server/router/clientrm/FederationClientInterceptor.java @@ -742,19 +742,19 @@ public class FederationClientInterceptor @Override public GetAttributesToNodesResponse getAttributesToNodes( GetAttributesToNodesRequest request) throws YarnException, IOException { - throw new NotImplementedException(); + throw new NotImplementedException("Code is not implemented"); } @Override public GetClusterNodeAttributesResponse getClusterNodeAttributes( GetClusterNodeAttributesRequest request) throws YarnException, IOException { - throw new NotImplementedException(); + throw new NotImplementedException("Code is not implemented"); } @Override public GetNodesToAttributesResponse getNodesToAttributes( GetNodesToAttributesRequest request) throws YarnException, IOException { - throw new NotImplementedException(); + throw new NotImplementedException("Code is not implemented"); } } --------------------------------------------------------------------- To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org