diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/protocolrecords/GetClusterNodeLabelsResponse.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/protocolrecords/GetClusterNodeLabelsResponse.java index cf6e683..200e826 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/protocolrecords/GetClusterNodeLabelsResponse.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/protocolrecords/GetClusterNodeLabelsResponse.java @@ -18,7 +18,9 @@ package org.apache.hadoop.yarn.api.protocolrecords; +import java.util.ArrayList; import java.util.List; +import java.util.Set; import org.apache.hadoop.classification.InterfaceAudience.Public; import org.apache.hadoop.classification.InterfaceStability.Evolving; @@ -28,6 +30,18 @@ @Public @Evolving public abstract class GetClusterNodeLabelsResponse { + /** + * @deprecated Use {@link #newInstance(List)} instead. + */ + @Deprecated + public static GetClusterNodeLabelsResponse newInstance(Set labels) { + List list = new ArrayList<>(); + for (String label : labels) { + list.add(NodeLabel.newInstance(label)); + } + return newInstance(list); + } + public static GetClusterNodeLabelsResponse newInstance(List labels) { GetClusterNodeLabelsResponse request = Records.newRecord(GetClusterNodeLabelsResponse.class); @@ -35,11 +49,19 @@ public static GetClusterNodeLabelsResponse newInstance(List labels) { return request; } - @Public - @Evolving public abstract void setNodeLabels(List labels); - @Public - @Evolving - public abstract List getNodeLabels(); + public abstract List getNodeLabelsList(); + + /** + * @deprecated Use {@link #setNodeLabels(List)} instead. + */ + @Deprecated + public abstract void setNodeLabels(Set labels); + + /** + * @deprecated Use {@link #getNodeLabelsList()} instead. + */ + @Deprecated + public abstract Set getNodeLabels(); } diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/api/impl/YarnClientImpl.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/api/impl/YarnClientImpl.java index a0f9678..a5c5c9d 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/api/impl/YarnClientImpl.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/main/java/org/apache/hadoop/yarn/client/api/impl/YarnClientImpl.java @@ -899,7 +899,7 @@ public ReservationListResponse listReservations( @Override public List getClusterNodeLabels() throws YarnException, IOException { return rmClient.getClusterNodeLabels( - GetClusterNodeLabelsRequest.newInstance()).getNodeLabels(); + GetClusterNodeLabelsRequest.newInstance()).getNodeLabelsList(); } @Override diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/protocolrecords/impl/pb/GetClusterNodeLabelsResponsePBImpl.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/protocolrecords/impl/pb/GetClusterNodeLabelsResponsePBImpl.java index f569fb2..10f414c 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/protocolrecords/impl/pb/GetClusterNodeLabelsResponsePBImpl.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/protocolrecords/impl/pb/GetClusterNodeLabelsResponsePBImpl.java @@ -19,7 +19,9 @@ package org.apache.hadoop.yarn.api.protocolrecords.impl.pb; import java.util.ArrayList; +import java.util.HashSet; import java.util.List; +import java.util.Set; import org.apache.hadoop.yarn.api.protocolrecords.GetClusterNodeLabelsResponse; import org.apache.hadoop.yarn.api.records.NodeLabel; @@ -111,6 +113,34 @@ public void setNodeLabels(List updatedNodeLabels) { this.updatedNodeLabels.addAll(updatedNodeLabels); } + /** + * @deprecated Use {@link #getNodeLabelsList()} instead. + */ + @Override + @Deprecated + public Set getNodeLabels() { + Set set = new HashSet<>(); + if (getNodeLabelsList() != null) { + for (NodeLabel label : getNodeLabelsList()) { + set.add(label.getName()); + } + } + return set; + } + + /** + * @deprecated Use {@link #setNodeLabels(List)} instead. + */ + @Override + @Deprecated + public void setNodeLabels(Set labels) { + List list = new ArrayList<>(); + for (String s : labels) { + list.add(NodeLabel.newInstance(s)); + } + setNodeLabels(list); + } + private void initLocalNodeLabels() { GetClusterNodeLabelsResponseProtoOrBuilder p = viaProto ? proto : builder; List attributesProtoList = p.getNodeLabelsList(); @@ -121,7 +151,7 @@ private void initLocalNodeLabels() { } @Override - public List getNodeLabels() { + public List getNodeLabelsList() { if (this.updatedNodeLabels != null) { return this.updatedNodeLabels; } diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/security/ContainerTokenIdentifier.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/security/ContainerTokenIdentifier.java index f8e9463..fb69487 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/security/ContainerTokenIdentifier.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/security/ContainerTokenIdentifier.java @@ -73,6 +73,19 @@ public ContainerTokenIdentifier(ContainerId containerID, CommonNodeLabelsManager.NO_LABEL, ContainerType.TASK); } + /** + * @deprecated Use one of the other constructors instead. + */ + @Deprecated + public ContainerTokenIdentifier(ContainerId containerID, String hostName, + String appSubmitter, Resource r, long expiryTimeStamp, int masterKeyId, + long rmIdentifier, Priority priority, long creationTime, + LogAggregationContext logAggregationContext) { + this(containerID, hostName, appSubmitter, r, expiryTimeStamp, masterKeyId, + rmIdentifier, priority, creationTime, logAggregationContext, + CommonNodeLabelsManager.NO_LABEL); + } + public ContainerTokenIdentifier(ContainerId containerID, String hostName, String appSubmitter, Resource r, long expiryTimeStamp, int masterKeyId, long rmIdentifier, Priority priority, long creationTime, diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/state/InvalidStateTransitionException.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/state/InvalidStateTransitionException.java index d10902a..01173c1 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/state/InvalidStateTransitionException.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/state/InvalidStateTransitionException.java @@ -20,7 +20,6 @@ import org.apache.hadoop.classification.InterfaceAudience.Public; import org.apache.hadoop.classification.InterfaceStability.Evolving; -import org.apache.hadoop.yarn.exceptions.YarnRuntimeException; /** * The exception that happens when you call invalid state transition. @@ -28,24 +27,12 @@ */ @Public @Evolving -public class InvalidStateTransitionException extends YarnRuntimeException { +public class InvalidStateTransitionException extends + InvalidStateTransitonException { - private static final long serialVersionUID = -6188669113571351684L; - private Enum currentState; - private Enum event; + private static final long serialVersionUID = 8610511635996283691L; public InvalidStateTransitionException(Enum currentState, Enum event) { - super("Invalid event: " + event + " at " + currentState); - this.currentState = currentState; - this.event = event; + super(currentState, event); } - - public Enum getCurrentState() { - return currentState; - } - - public Enum getEvent() { - return event; - } - } diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/state/InvalidStateTransitonException.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/state/InvalidStateTransitonException.java index eeb1b97..82f46cc 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/state/InvalidStateTransitonException.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/state/InvalidStateTransitonException.java @@ -20,20 +20,31 @@ import org.apache.hadoop.classification.InterfaceAudience.Public; import org.apache.hadoop.classification.InterfaceStability.Evolving; +import org.apache.hadoop.yarn.exceptions.YarnRuntimeException; /** @deprecated Use {@link InvalidStateTransitionException} instead. */ @Public @Evolving @Deprecated -public class InvalidStateTransitonException extends - InvalidStateTransitionException { +public class InvalidStateTransitonException extends YarnRuntimeException { - private static final long serialVersionUID = 8610511635996283691L; + private static final long serialVersionUID = -6188669113571351684L; + private Enum currentState; + private Enum event; public InvalidStateTransitonException(Enum currentState, Enum event) { - super(currentState, event); + super("Invalid event: " + event + " at " + currentState); + this.currentState = currentState; + this.event = event; } + public Enum getCurrentState() { + return currentState; + } + + public Enum getEvent() { + return event; + } } diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestClientRMService.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestClientRMService.java index f35efa0..6d4b2f3f 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestClientRMService.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestClientRMService.java @@ -1534,7 +1534,7 @@ protected ClientRMService createClientRMService() { // Get node labels collection GetClusterNodeLabelsResponse response = client .getClusterNodeLabels(GetClusterNodeLabelsRequest.newInstance()); - Assert.assertTrue(response.getNodeLabels().containsAll( + Assert.assertTrue(response.getNodeLabelsList().containsAll( Arrays.asList(labelX, labelY))); // Get node labels mapping @@ -1605,7 +1605,7 @@ protected ClientRMService createClientRMService() { // Get node labels collection GetClusterNodeLabelsResponse response = client .getClusterNodeLabels(GetClusterNodeLabelsRequest.newInstance()); - Assert.assertTrue(response.getNodeLabels().containsAll( + Assert.assertTrue(response.getNodeLabelsList().containsAll( Arrays.asList(labelX, labelY, labelZ))); // Get labels to nodes mapping