diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ApplicationMaster.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ApplicationMaster.java
index 45adedb..79ba701 100644
--- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ApplicationMaster.java
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ApplicationMaster.java
@@ -26,35 +26,35 @@
*/
@Private
@Unstable
-public interface ApplicationMaster {
- ApplicationId getApplicationId();
- void setApplicationId(ApplicationId appId);
+public abstract class ApplicationMaster {
+ public abstract ApplicationId getApplicationId();
+ public abstract void setApplicationId(ApplicationId appId);
- String getHost();
- void setHost(String host);
+ public abstract String getHost();
+ public abstract void setHost(String host);
- int getRpcPort();
- void setRpcPort(int rpcPort);
+ public abstract int getRpcPort();
+ public abstract void setRpcPort(int rpcPort);
- String getTrackingUrl();
- void setTrackingUrl(String url);
+ public abstract String getTrackingUrl();
+ public abstract void setTrackingUrl(String url);
- ApplicationStatus getStatus();
- void setStatus(ApplicationStatus status);
+ public abstract ApplicationStatus getStatus();
+ public abstract void setStatus(ApplicationStatus status);
- YarnApplicationState getState();
- void setState(YarnApplicationState state);
+ public abstract YarnApplicationState getState();
+ public abstract void setState(YarnApplicationState state);
- ClientToken getClientToken();
- void setClientToken(ClientToken clientToken);
+ public abstract ClientToken getClientToken();
+ public abstract void setClientToken(ClientToken clientToken);
- int getAMFailCount();
- void setAMFailCount(int amFailCount);
+ public abstract int getAMFailCount();
+ public abstract void setAMFailCount(int amFailCount);
- int getContainerCount();
- void setContainerCount(int containerCount);
+ public abstract int getContainerCount();
+ public abstract void setContainerCount(int containerCount);
- String getDiagnostics();
- void setDiagnostics(String diagnostics);
+ public abstract String getDiagnostics();
+ public abstract void setDiagnostics(String diagnostics);
}
diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ApplicationReport.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ApplicationReport.java
index 26f9978..b191ad5 100644
--- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ApplicationReport.java
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ApplicationReport.java
@@ -23,6 +23,7 @@
import org.apache.hadoop.classification.InterfaceStability.Stable;
import org.apache.hadoop.classification.InterfaceStability.Unstable;
import org.apache.hadoop.yarn.api.ClientRMProtocol;
+import org.apache.hadoop.yarn.util.Records;
/**
*
ApplicationReport is a report of an application.
@@ -47,7 +48,36 @@
*/
@Public
@Stable
-public interface ApplicationReport {
+public abstract class ApplicationReport {
+
+ public static ApplicationReport newInstance(
+ ApplicationId applicationId, ApplicationAttemptId applicationAttemptId,
+ String user, String queue, String name, String host, int rpcPort,
+ ClientToken clientToken, YarnApplicationState state, String diagnostics,
+ String url, long startTime, long finishTime,
+ FinalApplicationStatus finalStatus,
+ ApplicationResourceUsageReport appResources, String origTrackingUrl,
+ float progress) {
+ ApplicationReport report = Records.newRecord(ApplicationReport.class);
+ report.setApplicationId(applicationId);
+ report.setCurrentApplicationAttemptId(applicationAttemptId);
+ report.setUser(user);
+ report.setQueue(queue);
+ report.setName(name);
+ report.setHost(host);
+ report.setRpcPort(rpcPort);
+ report.setClientToken(clientToken);
+ report.setYarnApplicationState(state);
+ report.setDiagnostics(diagnostics);
+ report.setTrackingUrl(url);
+ report.setStartTime(startTime);
+ report.setFinishTime(finishTime);
+ report.setFinalApplicationStatus(finalStatus);
+ report.setApplicationResourceUsageReport(appResources);
+ report.setOriginalTrackingUrl(origTrackingUrl);
+ report.setProgress(progress);
+ return report;
+ }
/**
* Get the ApplicationId of the application.
@@ -55,11 +85,11 @@
*/
@Public
@Stable
- ApplicationId getApplicationId();
+ public abstract ApplicationId getApplicationId();
@Private
@Unstable
- void setApplicationId(ApplicationId applicationId);
+ public abstract void setApplicationId(ApplicationId applicationId);
/**
* Get the ApplicationAttemptId of the current
@@ -68,11 +98,11 @@
*/
@Private
@Unstable
- ApplicationAttemptId getCurrentApplicationAttemptId();
+ public abstract ApplicationAttemptId getCurrentApplicationAttemptId();
@Private
@Unstable
- void setCurrentApplicationAttemptId(ApplicationAttemptId applicationAttemptId);
+ public abstract void setCurrentApplicationAttemptId(ApplicationAttemptId applicationAttemptId);
/**
* Get the user who submitted the application.
@@ -80,11 +110,11 @@
*/
@Public
@Stable
- String getUser();
+ public abstract String getUser();
@Private
@Unstable
- void setUser(String user);
+ public abstract void setUser(String user);
/**
* Get the queue to which the application was submitted.
@@ -92,11 +122,11 @@
*/
@Public
@Stable
- String getQueue();
+ public abstract String getQueue();
@Private
@Unstable
- void setQueue(String queue);
+ public abstract void setQueue(String queue);
/**
* Get the user-defined name of the application.
@@ -104,11 +134,11 @@
*/
@Public
@Stable
- String getName();
+ public abstract String getName();
@Private
@Unstable
- void setName(String name);
+ public abstract void setName(String name);
/**
* Get the host on which the ApplicationMaster
@@ -118,11 +148,11 @@
*/
@Public
@Stable
- String getHost();
+ public abstract String getHost();
@Private
@Unstable
- void setHost(String host);
+ public abstract void setHost(String host);
/**
* Get the RPC port of the ApplicationMaster.
@@ -130,11 +160,11 @@
*/
@Public
@Stable
- int getRpcPort();
+ public abstract int getRpcPort();
@Private
@Unstable
- void setRpcPort(int rpcPort);
+ public abstract void setRpcPort(int rpcPort);
/**
* Get the client token for communicating with the
@@ -144,11 +174,11 @@
*/
@Public
@Stable
- ClientToken getClientToken();
+ public abstract ClientToken getClientToken();
@Private
@Unstable
- void setClientToken(ClientToken clientToken);
+ public abstract void setClientToken(ClientToken clientToken);
/**
* Get the YarnApplicationState of the application.
@@ -156,11 +186,11 @@
*/
@Public
@Stable
- YarnApplicationState getYarnApplicationState();
+ public abstract YarnApplicationState getYarnApplicationState();
@Private
@Unstable
- void setYarnApplicationState(YarnApplicationState state);
+ public abstract void setYarnApplicationState(YarnApplicationState state);
/**
* Get the diagnositic information of the application in case of
@@ -170,11 +200,11 @@
*/
@Public
@Stable
- String getDiagnostics();
+ public abstract String getDiagnostics();
@Private
@Unstable
- void setDiagnostics(String diagnostics);
+ public abstract void setDiagnostics(String diagnostics);
/**
* Get the tracking url for the application.
@@ -182,11 +212,11 @@
*/
@Public
@Stable
- String getTrackingUrl();
+ public abstract String getTrackingUrl();
@Private
@Unstable
- void setTrackingUrl(String url);
+ public abstract void setTrackingUrl(String url);
/**
* Get the original not-proxied tracking url for the application.
@@ -195,11 +225,11 @@
*/
@Private
@Unstable
- String getOriginalTrackingUrl();
+ public abstract String getOriginalTrackingUrl();
@Private
@Unstable
- void setOriginalTrackingUrl(String url);
+ public abstract void setOriginalTrackingUrl(String url);
/**
* Get the start time of the application.
@@ -207,11 +237,11 @@
*/
@Public
@Stable
- long getStartTime();
+ public abstract long getStartTime();
@Private
@Unstable
- void setStartTime(long startTime);
+ public abstract void setStartTime(long startTime);
/**
* Get the finish time of the application.
@@ -219,11 +249,11 @@
*/
@Public
@Stable
- long getFinishTime();
+ public abstract long getFinishTime();
@Private
@Unstable
- void setFinishTime(long finishTime);
+ public abstract void setFinishTime(long finishTime);
/**
@@ -232,11 +262,11 @@
*/
@Public
@Stable
- FinalApplicationStatus getFinalApplicationStatus();
+ public abstract FinalApplicationStatus getFinalApplicationStatus();
@Private
@Unstable
- void setFinalApplicationStatus(FinalApplicationStatus finishState);
+ public abstract void setFinalApplicationStatus(FinalApplicationStatus finishState);
/**
* Retrieve the structure containing the job resources for this application
@@ -244,7 +274,7 @@
*/
@Public
@Stable
- ApplicationResourceUsageReport getApplicationResourceUsageReport();
+ public abstract ApplicationResourceUsageReport getApplicationResourceUsageReport();
/**
* Store the structure containing the job resources for this application
@@ -252,7 +282,7 @@
*/
@Private
@Unstable
- void setApplicationResourceUsageReport(ApplicationResourceUsageReport appResources);
+ public abstract void setApplicationResourceUsageReport(ApplicationResourceUsageReport appResources);
/**
* Get the application's progress ( range 0.0 to 1.0 )
@@ -260,9 +290,9 @@
*/
@Public
@Stable
- float getProgress();
+ public abstract float getProgress();
@Private
@Unstable
- void setProgress(float progress);
+ public abstract void setProgress(float progress);
}
diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ApplicationResourceUsageReport.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ApplicationResourceUsageReport.java
index 9d45e8b..101cd18 100644
--- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ApplicationResourceUsageReport.java
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ApplicationResourceUsageReport.java
@@ -18,21 +18,31 @@
package org.apache.hadoop.yarn.api.records;
-import java.io.DataInput;
-import java.io.DataOutput;
-import java.io.IOException;
-
import org.apache.hadoop.classification.InterfaceAudience.Private;
import org.apache.hadoop.classification.InterfaceAudience.Public;
import org.apache.hadoop.classification.InterfaceStability.Stable;
import org.apache.hadoop.classification.InterfaceStability.Unstable;
+import org.apache.hadoop.yarn.util.Records;
/**
* Contains various scheduling metrics to be reported by UI and CLI.
*/
@Public
@Stable
-public interface ApplicationResourceUsageReport {
+public abstract class ApplicationResourceUsageReport {
+
+ public static ApplicationResourceUsageReport newInstance(
+ int numUsedContainers, int numReservedContainers, Resource usedResources,
+ Resource reservedResources, Resource neededResources) {
+ ApplicationResourceUsageReport report =
+ Records.newRecord(ApplicationResourceUsageReport.class);
+ report.setNumUsedContainers(numUsedContainers);
+ report.setNumReservedContainers(numReservedContainers);
+ report.setUsedResources(usedResources);
+ report.setReservedResources(reservedResources);
+ report.setNeededResources(neededResources);
+ return report;
+ }
/**
* Get the number of used containers
@@ -40,7 +50,7 @@
*/
@Public
@Stable
- int getNumUsedContainers();
+ public abstract int getNumUsedContainers();
/**
* Set the number of used containers
@@ -48,7 +58,7 @@
*/
@Private
@Unstable
- void setNumUsedContainers(int num_containers);
+ public abstract void setNumUsedContainers(int num_containers);
/**
* Get the number of reserved containers
@@ -56,7 +66,7 @@
*/
@Public
@Stable
- int getNumReservedContainers();
+ public abstract int getNumReservedContainers();
/**
* Set the number of reserved containers
@@ -64,7 +74,7 @@
*/
@Private
@Unstable
- void setNumReservedContainers(int num_reserved_containers);
+ public abstract void setNumReservedContainers(int num_reserved_containers);
/**
* Get the used Resource
@@ -72,11 +82,11 @@
*/
@Public
@Stable
- Resource getUsedResources();
+ public abstract Resource getUsedResources();
@Private
@Unstable
- void setUsedResources(Resource resources);
+ public abstract void setUsedResources(Resource resources);
/**
* Get the reserved Resource
@@ -84,11 +94,11 @@
*/
@Public
@Stable
- Resource getReservedResources();
+ public abstract Resource getReservedResources();
@Private
@Unstable
- void setReservedResources(Resource reserved_resources);
+ public abstract void setReservedResources(Resource reserved_resources);
/**
* Get the needed Resource
@@ -96,9 +106,9 @@
*/
@Public
@Stable
- Resource getNeededResources();
+ public abstract Resource getNeededResources();
@Private
@Unstable
- void setNeededResources(Resource needed_resources);
+ public abstract void setNeededResources(Resource needed_resources);
}
diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ApplicationStatus.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ApplicationStatus.java
index a71a165..b702fac 100644
--- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ApplicationStatus.java
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ApplicationStatus.java
@@ -26,13 +26,13 @@
*/
@Private
@Unstable
-public interface ApplicationStatus {
- ApplicationAttemptId getApplicationAttemptId();
- void setApplicationAttemptId(ApplicationAttemptId applicationAttemptId);
+public abstract class ApplicationStatus {
+ public abstract ApplicationAttemptId getApplicationAttemptId();
+ public abstract void setApplicationAttemptId(ApplicationAttemptId applicationAttemptId);
- int getResponseId();
- void setResponseId(int id);
+ public abstract int getResponseId();
+ public abstract void setResponseId(int id);
- float getProgress();
- void setProgress(float progress);
+ public abstract float getProgress();
+ public abstract void setProgress(float progress);
}
diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ApplicationSubmissionContext.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ApplicationSubmissionContext.java
index 41f1ee7..21cec33 100644
--- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ApplicationSubmissionContext.java
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ApplicationSubmissionContext.java
@@ -47,14 +47,14 @@
*/
@Public
@Stable
-public interface ApplicationSubmissionContext {
+public abstract class ApplicationSubmissionContext {
/**
* Get the ApplicationId of the submitted application.
* @return ApplicationId of the submitted application
*/
@Public
@Stable
- public ApplicationId getApplicationId();
+ public abstract ApplicationId getApplicationId();
/**
* Set the ApplicationId of the submitted application.
@@ -63,7 +63,7 @@
*/
@Public
@Stable
- public void setApplicationId(ApplicationId applicationId);
+ public abstract void setApplicationId(ApplicationId applicationId);
/**
* Get the application name.
@@ -71,7 +71,7 @@
*/
@Public
@Stable
- public String getApplicationName();
+ public abstract String getApplicationName();
/**
* Set the application name.
@@ -79,7 +79,7 @@
*/
@Public
@Stable
- public void setApplicationName(String applicationName);
+ public abstract void setApplicationName(String applicationName);
/**
* Get the queue to which the application is being submitted.
@@ -87,7 +87,7 @@
*/
@Public
@Stable
- public String getQueue();
+ public abstract String getQueue();
/**
* Set the queue to which the application is being submitted
@@ -95,7 +95,7 @@
*/
@Public
@Stable
- public void setQueue(String queue);
+ public abstract void setQueue(String queue);
/**
* Get the Priority of the application.
@@ -103,7 +103,7 @@
*/
@Public
@Stable
- public Priority getPriority();
+ public abstract Priority getPriority();
/**
* Set the Priority of the application.
@@ -111,7 +111,7 @@
*/
@Public
@Stable
- public void setPriority(Priority priority);
+ public abstract void setPriority(Priority priority);
/**
* Get the ContainerLaunchContext to describe the
@@ -122,7 +122,7 @@
*/
@Public
@Stable
- public ContainerLaunchContext getAMContainerSpec();
+ public abstract ContainerLaunchContext getAMContainerSpec();
/**
* Set the ContainerLaunchContext to describe the
@@ -133,7 +133,7 @@
*/
@Public
@Stable
- public void setAMContainerSpec(ContainerLaunchContext amContainer);
+ public abstract void setAMContainerSpec(ContainerLaunchContext amContainer);
/**
* Get if the RM should manage the execution of the AM.
@@ -148,21 +148,21 @@
*/
@Public
@Unstable
- public boolean getUnmanagedAM();
+ public abstract boolean getUnmanagedAM();
/**
* @param value true if RM should not manage the AM
*/
@Public
@Unstable
- public void setUnmanagedAM(boolean value);
+ public abstract void setUnmanagedAM(boolean value);
/**
* @return true if tokens should be canceled when the app completes.
*/
@LimitedPrivate("mapreduce")
@Unstable
- public boolean getCancelTokensWhenComplete();
+ public abstract boolean getCancelTokensWhenComplete();
/**
* Set to false if tokens should not be canceled when the app finished else
@@ -172,14 +172,14 @@
*/
@LimitedPrivate("mapreduce")
@Unstable
- public void setCancelTokensWhenComplete(boolean cancel);
+ public abstract void setCancelTokensWhenComplete(boolean cancel);
/**
* @return the number of max attempts of the application to be submitted
*/
@Public
@Unstable
- public int getMaxAppAttempts();
+ public abstract int getMaxAppAttempts();
/**
* Set the number of max attempts of the application to be submitted. WARNING:
@@ -190,13 +190,13 @@
*/
@Public
@Unstable
- public void setMaxAppAttempts(int maxAppAttempts);
+ public abstract void setMaxAppAttempts(int maxAppAttempts);
@Public
@Stable
- public Resource getResource();
+ public abstract Resource getResource();
@Public
@Stable
- public void setResource(Resource resource);
+ public abstract void setResource(Resource resource);
}
\ No newline at end of file
diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/Container.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/Container.java
index b0860e5..a1eb65b 100644
--- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/Container.java
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/Container.java
@@ -24,6 +24,7 @@
import org.apache.hadoop.classification.InterfaceStability.Unstable;
import org.apache.hadoop.yarn.api.AMRMProtocol;
import org.apache.hadoop.yarn.api.ContainerManager;
+import org.apache.hadoop.yarn.util.Records;
/**
* Container represents an allocated resource in the cluster.
@@ -63,18 +64,33 @@
*/
@Public
@Stable
-public interface Container extends Comparable {
+public abstract class Container implements Comparable {
+
+ public static Container newInstance(ContainerId containerId, NodeId nodeId,
+ String nodeHttpAddress, Resource resource, Priority priority,
+ ContainerToken containerToken, long rmIdentifier) {
+ Container container = Records.newRecord(Container.class);
+ container.setId(containerId);
+ container.setNodeId(nodeId);
+ container.setNodeHttpAddress(nodeHttpAddress);
+ container.setResource(resource);
+ container.setPriority(priority);
+ container.setContainerToken(containerToken);
+ container.setRMIdentifier(rmIdentifier);
+ return container;
+ }
+
/**
* Get the globally unique identifier for the container.
* @return globally unique identifier for the container
*/
@Public
@Stable
- ContainerId getId();
+ public abstract ContainerId getId();
@Private
@Unstable
- void setId(ContainerId id);
+ public abstract void setId(ContainerId id);
/**
* Get the identifier of the node on which the container is allocated.
@@ -82,11 +98,11 @@
*/
@Public
@Stable
- NodeId getNodeId();
+ public abstract NodeId getNodeId();
@Private
@Unstable
- void setNodeId(NodeId nodeId);
+ public abstract void setNodeId(NodeId nodeId);
/**
* Get the http uri of the node on which the container is allocated.
@@ -94,11 +110,11 @@
*/
@Public
@Stable
- String getNodeHttpAddress();
+ public abstract String getNodeHttpAddress();
@Private
@Unstable
- void setNodeHttpAddress(String nodeHttpAddress);
+ public abstract void setNodeHttpAddress(String nodeHttpAddress);
/**
* Get the Resource allocated to the container.
@@ -106,11 +122,11 @@
*/
@Public
@Stable
- Resource getResource();
+ public abstract Resource getResource();
@Private
@Unstable
- void setResource(Resource resource);
+ public abstract void setResource(Resource resource);
/**
* Get the Priority at which the Container was
@@ -118,11 +134,11 @@
* @return Priority at which the Container was
* allocated
*/
- Priority getPriority();
+ public abstract Priority getPriority();
@Private
@Unstable
- void setPriority(Priority priority);
+ public abstract void setPriority(Priority priority);
/**
* Get the ContainerToken for the container.
@@ -130,11 +146,11 @@
*/
@Public
@Stable
- ContainerToken getContainerToken();
+ public abstract ContainerToken getContainerToken();
@Private
@Unstable
- void setContainerToken(ContainerToken containerToken);
+ public abstract void setContainerToken(ContainerToken containerToken);
/**
* Get the RMIdentifier of RM in which containers are allocated
@@ -142,9 +158,9 @@
*/
@Private
@Unstable
- long getRMIdentifer();
+ public abstract long getRMIdentifer();
@Private
@Unstable
- void setRMIdentifier(long rmIdentifier);
+ public abstract void setRMIdentifier(long rmIdentifier);
}
diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ContainerId.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ContainerId.java
index 68cd09e..5f0f89a 100644
--- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ContainerId.java
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ContainerId.java
@@ -24,6 +24,7 @@
import org.apache.hadoop.classification.InterfaceAudience.Public;
import org.apache.hadoop.classification.InterfaceStability.Stable;
import org.apache.hadoop.classification.InterfaceStability.Unstable;
+import org.apache.hadoop.yarn.util.Records;
/**
* ContainerId represents a globally unique identifier
@@ -32,6 +33,15 @@
@Public
@Stable
public abstract class ContainerId implements Comparable{
+
+ public static ContainerId newContainerId(ApplicationAttemptId appAttemptId,
+ int containerId) {
+ ContainerId id = Records.newRecord(ContainerId.class);
+ id.setId(containerId);
+ id.setApplicationAttemptId(appAttemptId);
+ return id;
+ }
+
/**
* Get the ApplicationAttemptId of the application to which
* the Container was assigned.
diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ContainerLaunchContext.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ContainerLaunchContext.java
index da6f6d4..2c3f557 100644
--- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ContainerLaunchContext.java
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ContainerLaunchContext.java
@@ -25,6 +25,7 @@
import org.apache.hadoop.classification.InterfaceAudience.Public;
import org.apache.hadoop.classification.InterfaceStability.Stable;
import org.apache.hadoop.yarn.api.ContainerManager;
+import org.apache.hadoop.yarn.util.Records;
/**
* ContainerLaunchContext represents all of the information
@@ -50,14 +51,32 @@
*/
@Public
@Stable
-public interface ContainerLaunchContext {
+public abstract class ContainerLaunchContext {
+
+ public static ContainerLaunchContext newInstance(
+ String user, Map localResources,
+ Map environment, List commands,
+ Map serviceData, ByteBuffer tokens,
+ Map acls) {
+ ContainerLaunchContext container =
+ Records.newRecord(ContainerLaunchContext.class);
+ container.setUser(user);
+ container.setLocalResources(localResources);
+ container.setEnvironment(environment);
+ container.setCommands(commands);
+ container.setServiceData(serviceData);
+ container.setTokens(tokens);
+ container.setApplicationACLs(acls);
+ return container;
+ }
+
/**
* Get the user to whom the container has been allocated.
* @return the user to whom the container has been allocated
*/
@Public
@Stable
- String getUser();
+ public abstract String getUser();
/**
* Set the user to whom the container has been allocated
@@ -65,7 +84,7 @@
*/
@Public
@Stable
- void setUser(String user);
+ public abstract void setUser(String user);
/**
* Get all the tokens needed by this container. It may include file-system
@@ -77,7 +96,7 @@
*/
@Public
@Stable
- ByteBuffer getTokens();
+ public abstract ByteBuffer getTokens();
/**
* Set security tokens needed by this container.
@@ -85,7 +104,7 @@
*/
@Public
@Stable
- void setTokens(ByteBuffer tokens);
+ public abstract void setTokens(ByteBuffer tokens);
/**
* Get LocalResource required by the container.
@@ -93,7 +112,7 @@
*/
@Public
@Stable
- Map getLocalResources();
+ public abstract Map getLocalResources();
/**
* Set LocalResource required by the container. All pre-existing
@@ -102,7 +121,7 @@
*/
@Public
@Stable
- void setLocalResources(Map localResources);
+ public abstract void setLocalResources(Map localResources);
/**
* Get application-specific binary service data.
@@ -110,7 +129,7 @@
*/
@Public
@Stable
- Map getServiceData();
+ public abstract Map getServiceData();
/**
* Set application-specific binary service data. All pre-existing Map
@@ -119,7 +138,7 @@
*/
@Public
@Stable
- void setServiceData(Map serviceData);
+ public abstract void setServiceData(Map serviceData);
/**
* Get environment variables for the container.
@@ -127,7 +146,7 @@
*/
@Public
@Stable
- Map getEnvironment();
+ public abstract Map getEnvironment();
/**
* Add environment variables for the container. All pre-existing Map
@@ -136,7 +155,7 @@
*/
@Public
@Stable
- void setEnvironment(Map environment);
+ public abstract void setEnvironment(Map environment);
/**
* Get the list of commands for launching the container.
@@ -144,7 +163,7 @@
*/
@Public
@Stable
- List getCommands();
+ public abstract List getCommands();
/**
* Add the list of commands for launching the container. All
@@ -153,7 +172,7 @@
*/
@Public
@Stable
- void setCommands(List commands);
+ public abstract void setCommands(List commands);
/**
* Get the ApplicationACLs for the application.
@@ -161,7 +180,7 @@
*/
@Public
@Stable
- public Map getApplicationACLs();
+ public abstract Map getApplicationACLs();
/**
* Set the ApplicationACLs for the application. All pre-existing
@@ -170,5 +189,5 @@
*/
@Public
@Stable
- public void setApplicationACLs(Map acls);
+ public abstract void setApplicationACLs(Map acls);
}
diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ContainerStatus.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ContainerStatus.java
index 8896527..3a83738 100644
--- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ContainerStatus.java
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ContainerStatus.java
@@ -22,6 +22,7 @@
import org.apache.hadoop.classification.InterfaceAudience.Public;
import org.apache.hadoop.classification.InterfaceStability.Stable;
import org.apache.hadoop.classification.InterfaceStability.Unstable;
+import org.apache.hadoop.yarn.util.Records;
/**
* ContainerStatus represents the current status of a
@@ -38,18 +39,29 @@
*/
@Public
@Stable
-public interface ContainerStatus {
+public abstract class ContainerStatus {
+
+ public static ContainerStatus newInstance(ContainerId containerId,
+ ContainerState containerState, String diagnostics, int exitStatus) {
+ ContainerStatus containerStatus = Records.newRecord(ContainerStatus.class);
+ containerStatus.setState(containerState);
+ containerStatus.setContainerId(containerId);
+ containerStatus.setDiagnostics(diagnostics);
+ containerStatus.setExitStatus(exitStatus);
+ return containerStatus;
+ }
+
/**
* Get the ContainerId of the container.
* @return ContainerId of the container
*/
@Public
@Stable
- ContainerId getContainerId();
+ public abstract ContainerId getContainerId();
@Private
@Unstable
- void setContainerId(ContainerId containerId);
+ public abstract void setContainerId(ContainerId containerId);
/**
* Get the ContainerState of the container.
@@ -57,11 +69,11 @@
*/
@Public
@Stable
- ContainerState getState();
+ public abstract ContainerState getState();
@Private
@Unstable
- void setState(ContainerState state);
+ public abstract void setState(ContainerState state);
/**
*
Get the exit status for the container.
@@ -84,11 +96,11 @@
*/
@Public
@Stable
- int getExitStatus();
+ public abstract int getExitStatus();
@Private
@Unstable
- void setExitStatus(int exitStatus);
+ public abstract void setExitStatus(int exitStatus);
/**
* Get diagnostic messages for failed containers.
@@ -96,9 +108,9 @@
*/
@Public
@Stable
- String getDiagnostics();
+ public abstract String getDiagnostics();
@Private
@Unstable
- void setDiagnostics(String diagnostics);
+ public abstract void setDiagnostics(String diagnostics);
}
diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/LocalResource.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/LocalResource.java
index 1a8790a..39687b3 100644
--- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/LocalResource.java
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/LocalResource.java
@@ -21,6 +21,7 @@
import org.apache.hadoop.classification.InterfaceAudience.Public;
import org.apache.hadoop.classification.InterfaceStability.Stable;
import org.apache.hadoop.yarn.api.ContainerManager;
+import org.apache.hadoop.yarn.util.Records;
/**
* LocalResource represents a local resource required to
@@ -40,56 +41,68 @@
*/
@Public
@Stable
-public interface LocalResource {
+public abstract class LocalResource {
+
+ public static LocalResource newInstance(URL url, LocalResourceType type,
+ LocalResourceVisibility visibility, long size, long timestamp) {
+ LocalResource resource = Records.newRecord(LocalResource.class);
+ resource.setResource(url);
+ resource.setType(type);
+ resource.setVisibility(visibility);
+ resource.setSize(size);
+ resource.setTimestamp(timestamp);
+ return resource;
+ }
+
/**
* Get the location of the resource to be localized.
* @return location of the resource to be localized
*/
- public URL getResource();
+ public abstract URL getResource();
/**
* Set location of the resource to be localized.
* @param resource location of the resource to be localized
*/
- public void setResource(URL resource);
+ public abstract void setResource(URL resource);
/**
* Get the size of the resource to be localized.
* @return size of the resource to be localized
*/
- public long getSize();
+ public abstract long getSize();
/**
* Set the size of the resource to be localized.
* @param size size of the resource to be localized
*/
- public void setSize(long size);
+ public abstract void setSize(long size);
/**
* Get the original timestamp of the resource to be localized, used
* for verification.
* @return timestamp of the resource to be localized
*/
- public long getTimestamp();
+ public abstract long getTimestamp();
/**
* Set the timestamp of the resource to be localized, used
* for verification.
* @param timestamp timestamp of the resource to be localized
*/
- public void setTimestamp(long timestamp);
+ public abstract void setTimestamp(long timestamp);
/**
* Get the LocalResourceType of the resource to be localized.
* @return LocalResourceType of the resource to be localized
*/
- public LocalResourceType getType();
+ public abstract LocalResourceType getType();
/**
* Set the LocalResourceType of the resource to be localized.
* @param type LocalResourceType of the resource to be localized
*/
- public void setType(LocalResourceType type);
+ public abstract void setType(LocalResourceType type);
/**
* Get the LocalResourceVisibility of the resource to be
@@ -97,7 +110,7 @@
* @return LocalResourceVisibility of the resource to be
* localized
*/
- public LocalResourceVisibility getVisibility();
+ public abstract LocalResourceVisibility getVisibility();
/**
* Set the LocalResourceVisibility of the resource to be
@@ -105,7 +118,7 @@
* @param visibility LocalResourceVisibility of the resource to be
* localized
*/
- public void setVisibility(LocalResourceVisibility visibility);
+ public abstract void setVisibility(LocalResourceVisibility visibility);
/**
* Get the pattern that should be used to extract entries from the
@@ -113,7 +126,7 @@
* @return pattern that should be used to extract entries from the
* archive.
*/
- public String getPattern();
+ public abstract String getPattern();
/**
* Set the pattern that should be used to extract entries from the
@@ -121,5 +134,5 @@
* @param pattern pattern that should be used to extract entries
* from the archive.
*/
- public void setPattern(String pattern);
+ public abstract void setPattern(String pattern);
}
diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/NodeHealthStatus.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/NodeHealthStatus.java
index eca22fa..933bd50 100644
--- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/NodeHealthStatus.java
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/NodeHealthStatus.java
@@ -43,7 +43,7 @@
*/
@Public
@Stable
-public interface NodeHealthStatus {
+public abstract class NodeHealthStatus {
/**
* Is the node healthy?
@@ -51,11 +51,11 @@
*/
@Public
@Stable
- boolean getIsNodeHealthy();
+ public abstract boolean getIsNodeHealthy();
@Private
@Unstable
- void setIsNodeHealthy(boolean isNodeHealthy);
+ public abstract void setIsNodeHealthy(boolean isNodeHealthy);
/**
* Get the diagnostic health report of the node.
@@ -63,11 +63,11 @@
*/
@Public
@Stable
- String getHealthReport();
+ public abstract String getHealthReport();
@Private
@Unstable
- void setHealthReport(String healthReport);
+ public abstract void setHealthReport(String healthReport);
/**
* Get the last timestamp at which the health report was received.
@@ -75,9 +75,9 @@
*/
@Public
@Stable
- long getLastHealthReportTime();
+ public abstract long getLastHealthReportTime();
@Private
@Unstable
- void setLastHealthReportTime(long lastHealthReport);
+ public abstract void setLastHealthReportTime(long lastHealthReport);
}
\ No newline at end of file
diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/NodeId.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/NodeId.java
index 886f88e..7578f39 100644
--- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/NodeId.java
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/NodeId.java
@@ -22,6 +22,7 @@
import org.apache.hadoop.classification.InterfaceAudience.Public;
import org.apache.hadoop.classification.InterfaceStability.Stable;
import org.apache.hadoop.classification.InterfaceStability.Unstable;
+import org.apache.hadoop.yarn.util.Records;
/**
*
NodeId is the unique identifier for a node.
@@ -34,6 +35,13 @@
@Stable
public abstract class NodeId implements Comparable {
+ public static NodeId newInstance(String host, int port) {
+ NodeId nodeId = Records.newRecord(NodeId.class);
+ nodeId.setHost(host);
+ nodeId.setPort(port);
+ return nodeId;
+ }
+
/**
* Get the hostname of the node.
* @return hostname of the node
diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/NodeReport.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/NodeReport.java
index c4489ab..b5f1fe3 100644
--- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/NodeReport.java
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/NodeReport.java
@@ -23,6 +23,7 @@
import org.apache.hadoop.classification.InterfaceStability.Stable;
import org.apache.hadoop.classification.InterfaceStability.Unstable;
import org.apache.hadoop.yarn.api.ClientRMProtocol;
+import org.apache.hadoop.yarn.util.Records;
/**
* NodeReport is a summary of runtime information of a
@@ -45,26 +46,42 @@
*/
@Public
@Stable
-public interface NodeReport {
+public abstract class NodeReport {
+
+ public static NodeReport newInstance(NodeId nodeId, NodeState nodeState,
+ String httpAddress, String rackName, Resource used, Resource capability,
+ int numContainers, NodeHealthStatus nodeHealthStatus) {
+ NodeReport nodeReport = Records.newRecord(NodeReport.class);
+ nodeReport.setNodeId(nodeId);
+ nodeReport.setNodeState(nodeState);
+ nodeReport.setHttpAddress(httpAddress);
+ nodeReport.setRackName(rackName);
+ nodeReport.setUsed(used);
+ nodeReport.setCapability(capability);
+ nodeReport.setNumContainers(numContainers);
+ nodeReport.setNodeHealthStatus(nodeHealthStatus);
+ return nodeReport;
+ }
+
/**
* Get the NodeId of the node.
* @return NodeId of the node
*/
- NodeId getNodeId();
+ public abstract NodeId getNodeId();
@Private
@Unstable
- void setNodeId(NodeId nodeId);
+ public abstract void setNodeId(NodeId nodeId);
/**
* Get the NodeState of the node.
* @return NodeState of the node
*/
- NodeState getNodeState();
+ public abstract NodeState getNodeState();
@Private
@Unstable
- void setNodeState(NodeState nodeState);
+ public abstract void setNodeState(NodeState nodeState);
/**
* Get the http address of the node.
@@ -72,11 +89,11 @@
*/
@Public
@Stable
- String getHttpAddress();
+ public abstract String getHttpAddress();
@Private
@Unstable
- void setHttpAddress(String httpAddress);
+ public abstract void setHttpAddress(String httpAddress);
/**
* Get the rack name for the node.
@@ -84,11 +101,11 @@
*/
@Public
@Stable
- String getRackName();
+ public abstract String getRackName();
@Private
@Unstable
- void setRackName(String rackName);
+ public abstract void setRackName(String rackName);
/**
* Get used Resource on the node.
@@ -96,11 +113,11 @@
*/
@Public
@Stable
- Resource getUsed();
+ public abstract Resource getUsed();
@Private
@Unstable
- void setUsed(Resource used);
+ public abstract void setUsed(Resource used);
/**
* Get the total Resource on the node.
@@ -108,11 +125,11 @@
*/
@Public
@Stable
- Resource getCapability();
+ public abstract Resource getCapability();
@Private
@Unstable
- void setCapability(Resource capability);
+ public abstract void setCapability(Resource capability);
/**
* Get the number of running containers on the node.
@@ -120,11 +137,11 @@
*/
@Public
@Stable
- int getNumContainers();
+ public abstract int getNumContainers();
@Private
@Unstable
- void setNumContainers(int numContainers);
+ public abstract void setNumContainers(int numContainers);
/**
* Get the NodeHealthStatus of the node.
@@ -132,9 +149,9 @@
*/
@Public
@Stable
- NodeHealthStatus getNodeHealthStatus();
+ public abstract NodeHealthStatus getNodeHealthStatus();
@Private
@Unstable
- void setNodeHealthStatus(NodeHealthStatus nodeHealthStatus);
+ public abstract void setNodeHealthStatus(NodeHealthStatus nodeHealthStatus);
}
diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/Priority.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/Priority.java
index 2b456f7..dc164e2 100644
--- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/Priority.java
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/Priority.java
@@ -18,13 +18,21 @@
package org.apache.hadoop.yarn.api.records;
+import org.apache.hadoop.yarn.util.Records;
+
/**
* The priority assigned to a ResourceRequest or Application or Container
* allocation
*
*/
public abstract class Priority implements Comparable {
-
+
+ public static Priority newInstance(int p) {
+ Priority priority = Records.newRecord(Priority.class);
+ priority.setPriority(p);
+ return priority;
+ }
+
/**
* Get the assigned priority
* @return the assigned priority
diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/QueueInfo.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/QueueInfo.java
index b4b45c4..73f25ef 100644
--- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/QueueInfo.java
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/QueueInfo.java
@@ -46,18 +46,18 @@
*/
@Public
@Stable
-public interface QueueInfo {
+public abstract class QueueInfo {
/**
* Get the name of the queue.
* @return name of the queue
*/
@Public
@Stable
- String getQueueName();
+ public abstract String getQueueName();
@Private
@Unstable
- void setQueueName(String queueName);
+ public abstract void setQueueName(String queueName);
/**
* Get the configured capacity of the queue.
@@ -65,11 +65,11 @@
*/
@Public
@Stable
- float getCapacity();
+ public abstract float getCapacity();
@Private
@Unstable
- void setCapacity(float capacity);
+ public abstract void setCapacity(float capacity);
/**
* Get the maximum capacity of the queue.
@@ -77,11 +77,11 @@
*/
@Public
@Stable
- float getMaximumCapacity();
+ public abstract float getMaximumCapacity();
@Private
@Unstable
- void setMaximumCapacity(float maximumCapacity);
+ public abstract void setMaximumCapacity(float maximumCapacity);
/**
* Get the current capacity of the queue.
@@ -89,11 +89,11 @@
*/
@Public
@Stable
- float getCurrentCapacity();
+ public abstract float getCurrentCapacity();
@Private
@Unstable
- void setCurrentCapacity(float currentCapacity);
+ public abstract void setCurrentCapacity(float currentCapacity);
/**
* Get the child queues of the queue.
@@ -101,11 +101,11 @@
*/
@Public
@Stable
- List getChildQueues();
+ public abstract List getChildQueues();
@Private
@Unstable
- void setChildQueues(List childQueues);
+ public abstract void setChildQueues(List childQueues);
/**
* Get the running applications of the queue.
@@ -113,11 +113,11 @@
*/
@Public
@Stable
- List getApplications();
+ public abstract List getApplications();
@Private
@Unstable
- void setApplications(List applications);
+ public abstract void setApplications(List applications);
/**
* Get the QueueState of the queue.
@@ -125,9 +125,9 @@
*/
@Public
@Stable
- QueueState getQueueState();
+ public abstract QueueState getQueueState();
@Private
@Unstable
- void setQueueState(QueueState queueState);
+ public abstract void setQueueState(QueueState queueState);
}
diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/QueueUserACLInfo.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/QueueUserACLInfo.java
index 704cc16..f614d12 100644
--- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/QueueUserACLInfo.java
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/QueueUserACLInfo.java
@@ -35,18 +35,18 @@
*/
@Public
@Stable
-public interface QueueUserACLInfo {
+public abstract class QueueUserACLInfo {
/**
* Get the queue name of the queue.
* @return queue name of the queue
*/
@Public
@Stable
- String getQueueName();
+ public abstract String getQueueName();
@Private
@Unstable
- void setQueueName(String queueName);
+ public abstract void setQueueName(String queueName);
/**
* Get the list of QueueACL for the given user.
@@ -54,9 +54,9 @@
*/
@Public
@Stable
- List getUserAcls();
+ public abstract List getUserAcls();
@Private
@Unstable
- void setUserAcls(List acls);
+ public abstract void setUserAcls(List acls);
}
diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/Resource.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/Resource.java
index fc12033..15ef245 100644
--- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/Resource.java
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/Resource.java
@@ -22,6 +22,7 @@
import org.apache.hadoop.classification.InterfaceStability.Evolving;
import org.apache.hadoop.classification.InterfaceStability.Stable;
import org.apache.hadoop.yarn.api.AMRMProtocol;
+import org.apache.hadoop.yarn.util.Records;
/**
* Resource models a set of computer resources in the
@@ -39,6 +40,14 @@
@Stable
public abstract class Resource implements Comparable {
+
+ public static Resource newInstance(int memory, int vCores) {
+ Resource resource = Records.newRecord(Resource.class);
+ resource.setMemory(memory);
+ resource.setVirtualCores(vCores);
+ return resource;
+ }
+
/**
* Get memory of the resource.
* @return memory of the resource
diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ResourceRequest.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ResourceRequest.java
index 0406a57..dce72b8 100644
--- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ResourceRequest.java
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/ResourceRequest.java
@@ -21,6 +21,7 @@
import org.apache.hadoop.classification.InterfaceAudience.Public;
import org.apache.hadoop.classification.InterfaceStability.Stable;
import org.apache.hadoop.yarn.api.AMRMProtocol;
+import org.apache.hadoop.yarn.util.Records;
/**
* ResourceRequest represents the request made by an
@@ -50,6 +51,26 @@
@Stable
public abstract class ResourceRequest implements Comparable {
+
+ public static ResourceRequest newInstance(Priority priority,
+ String hostName, Resource capability, int numContainers) {
+ ResourceRequest request = Records.newRecord(ResourceRequest.class);
+ request.setPriority(priority);
+ request.setHostName(hostName);
+ request.setCapability(capability);
+ request.setNumContainers(numContainers);
+ return request;
+ }
+
+ public static ResourceRequest newInstance(ResourceRequest r) {
+ ResourceRequest request = Records.newRecord(ResourceRequest.class);
+ request.setPriority(r.getPriority());
+ request.setHostName(r.getHostName());
+ request.setCapability(r.getCapability());
+ request.setNumContainers(r.getNumContainers());
+ return request;
+ }
+
/**
* The constant string representing no locality.
* It should be used by all references that want to pass an arbitrary host
diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/URL.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/URL.java
index 973302f..2b95092 100644
--- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/URL.java
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/URL.java
@@ -20,14 +20,24 @@
import org.apache.hadoop.classification.InterfaceAudience.Public;
import org.apache.hadoop.classification.InterfaceStability.Evolving;
+import org.apache.hadoop.yarn.util.Records;
/**
* URL represents a serializable {@link java.net.URL}.
*/
@Public
@Evolving
-public interface URL {
-
+public abstract class URL {
+
+ public static URL newInstance(String scheme, String host, int port, String file) {
+ URL url = Records.newRecord(URL.class);
+ url.setScheme(scheme);
+ url.setHost(host);
+ url.setPort(port);
+ url.setFile(file);
+ return url;
+ }
+
/**
* Get the scheme of the URL.
* @return scheme of the URL
diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/YarnClusterMetrics.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/YarnClusterMetrics.java
index 8ecf60c..dce2b4e 100644
--- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/YarnClusterMetrics.java
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/YarnClusterMetrics.java
@@ -30,7 +30,7 @@
*/
@Public
@Stable
-public interface YarnClusterMetrics {
+public abstract class YarnClusterMetrics {
/**
* Get the number of NodeManagers in the cluster.
diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ApplicationMasterPBImpl.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ApplicationMasterPBImpl.java
index f136a4a..0322859 100644
--- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ApplicationMasterPBImpl.java
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ApplicationMasterPBImpl.java
@@ -23,7 +23,6 @@
import org.apache.hadoop.yarn.api.records.ApplicationMaster;
import org.apache.hadoop.yarn.api.records.ApplicationStatus;
import org.apache.hadoop.yarn.api.records.ClientToken;
-import org.apache.hadoop.yarn.api.records.ProtoBase;
import org.apache.hadoop.yarn.api.records.YarnApplicationState;
import org.apache.hadoop.yarn.proto.YarnProtos.ApplicationIdProto;
import org.apache.hadoop.yarn.proto.YarnProtos.ApplicationMasterProto;
@@ -32,8 +31,7 @@
import org.apache.hadoop.yarn.proto.YarnProtos.YarnApplicationStateProto;
import org.apache.hadoop.yarn.util.ProtoUtils;
-public class ApplicationMasterPBImpl extends ProtoBase
- implements ApplicationMaster {
+public class ApplicationMasterPBImpl extends ApplicationMaster {
ApplicationMasterProto proto = ApplicationMasterProto.getDefaultInstance();
ApplicationMasterProto.Builder builder = null;
boolean viaProto = false;
@@ -59,6 +57,25 @@ public ApplicationMasterProto getProto() {
return proto;
}
+ @Override
+ public int hashCode() {
+ return getProto().hashCode();
+ }
+
+ @Override
+ public boolean equals(Object other) {
+ if (other == null)
+ return false;
+ if (other.getClass().isAssignableFrom(this.getClass())) {
+ return this.getProto().equals(this.getClass().cast(other).getProto());
+ }
+ return false;
+ }
+
+ @Override
+ public String toString() {
+ return getProto().toString().replaceAll("\\n", ", ").replaceAll("\\s+", " ");
+ }
private void mergeLocalToBuilder() {
if (this.applicationId != null
&& !((ApplicationIdPBImpl) this.applicationId).getProto().equals(
diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ApplicationReportPBImpl.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ApplicationReportPBImpl.java
index de6c41c..fa8f7c5 100644
--- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ApplicationReportPBImpl.java
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ApplicationReportPBImpl.java
@@ -25,7 +25,6 @@
import org.apache.hadoop.yarn.api.records.ApplicationResourceUsageReport;
import org.apache.hadoop.yarn.api.records.ClientToken;
import org.apache.hadoop.yarn.api.records.FinalApplicationStatus;
-import org.apache.hadoop.yarn.api.records.ProtoBase;
import org.apache.hadoop.yarn.api.records.YarnApplicationState;
import org.apache.hadoop.yarn.proto.YarnProtos.ApplicationAttemptIdProto;
import org.apache.hadoop.yarn.proto.YarnProtos.ApplicationIdProto;
@@ -36,8 +35,7 @@
import org.apache.hadoop.yarn.proto.YarnProtos.YarnApplicationStateProto;
import org.apache.hadoop.yarn.util.ProtoUtils;
-public class ApplicationReportPBImpl extends ProtoBase
-implements ApplicationReport {
+public class ApplicationReportPBImpl extends ApplicationReport {
ApplicationReportProto proto = ApplicationReportProto.getDefaultInstance();
ApplicationReportProto.Builder builder = null;
boolean viaProto = false;
@@ -357,7 +355,6 @@ public void setProgress(float progress) {
builder.setProgress(progress);
}
- @Override
public ApplicationReportProto getProto() {
mergeLocalToProto();
proto = viaProto ? proto : builder.build();
@@ -365,6 +362,26 @@ public ApplicationReportProto getProto() {
return proto;
}
+ @Override
+ public int hashCode() {
+ return getProto().hashCode();
+ }
+
+ @Override
+ public boolean equals(Object other) {
+ if (other == null)
+ return false;
+ if (other.getClass().isAssignableFrom(this.getClass())) {
+ return this.getProto().equals(this.getClass().cast(other).getProto());
+ }
+ return false;
+ }
+
+ @Override
+ public String toString() {
+ return getProto().toString().replaceAll("\\n", ", ").replaceAll("\\s+", " ");
+ }
+
private void mergeLocalToBuilder() {
if (this.applicationId != null
&& !((ApplicationIdPBImpl) this.applicationId).getProto().equals(
diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ApplicationResourceUsageReportPBImpl.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ApplicationResourceUsageReportPBImpl.java
index 83cf947..9fa8e9d 100644
--- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ApplicationResourceUsageReportPBImpl.java
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ApplicationResourceUsageReportPBImpl.java
@@ -19,15 +19,13 @@
package org.apache.hadoop.yarn.api.records.impl.pb;
import org.apache.hadoop.yarn.api.records.ApplicationResourceUsageReport;
-import org.apache.hadoop.yarn.api.records.ProtoBase;
import org.apache.hadoop.yarn.api.records.Resource;
import org.apache.hadoop.yarn.proto.YarnProtos.ApplicationResourceUsageReportProto;
import org.apache.hadoop.yarn.proto.YarnProtos.ApplicationResourceUsageReportProtoOrBuilder;
import org.apache.hadoop.yarn.proto.YarnProtos.ResourceProto;
public class ApplicationResourceUsageReportPBImpl
-extends ProtoBase
-implements ApplicationResourceUsageReport {
+extends ApplicationResourceUsageReport {
ApplicationResourceUsageReportProto proto =
ApplicationResourceUsageReportProto.getDefaultInstance();
ApplicationResourceUsageReportProto.Builder builder = null;
@@ -54,6 +52,26 @@ public synchronized ApplicationResourceUsageReportProto getProto() {
return proto;
}
+ @Override
+ public int hashCode() {
+ return getProto().hashCode();
+ }
+
+ @Override
+ public boolean equals(Object other) {
+ if (other == null)
+ return false;
+ if (other.getClass().isAssignableFrom(this.getClass())) {
+ return this.getProto().equals(this.getClass().cast(other).getProto());
+ }
+ return false;
+ }
+
+ @Override
+ public String toString() {
+ return getProto().toString().replaceAll("\\n", ", ").replaceAll("\\s+", " ");
+ }
+
private void mergeLocalToBuilder() {
if (this.usedResources != null
&& !((ResourcePBImpl) this.usedResources).getProto().equals(
diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ApplicationStatusPBImpl.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ApplicationStatusPBImpl.java
index ccfea17..c927549 100644
--- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ApplicationStatusPBImpl.java
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ApplicationStatusPBImpl.java
@@ -21,14 +21,13 @@
import org.apache.hadoop.yarn.api.records.ApplicationAttemptId;
import org.apache.hadoop.yarn.api.records.ApplicationStatus;
-import org.apache.hadoop.yarn.api.records.ProtoBase;
import org.apache.hadoop.yarn.proto.YarnProtos.ApplicationAttemptIdProto;
import org.apache.hadoop.yarn.proto.YarnProtos.ApplicationStatusProto;
import org.apache.hadoop.yarn.proto.YarnProtos.ApplicationStatusProtoOrBuilder;
-public class ApplicationStatusPBImpl extends ProtoBase implements ApplicationStatus {
+public class ApplicationStatusPBImpl extends ApplicationStatus {
ApplicationStatusProto proto = ApplicationStatusProto.getDefaultInstance();
ApplicationStatusProto.Builder builder = null;
boolean viaProto = false;
@@ -53,6 +52,26 @@ public ApplicationStatusProto getProto() {
return proto;
}
+ @Override
+ public int hashCode() {
+ return getProto().hashCode();
+ }
+
+ @Override
+ public boolean equals(Object other) {
+ if (other == null)
+ return false;
+ if (other.getClass().isAssignableFrom(this.getClass())) {
+ return this.getProto().equals(this.getClass().cast(other).getProto());
+ }
+ return false;
+ }
+
+ @Override
+ public String toString() {
+ return getProto().toString().replaceAll("\\n", ", ").replaceAll("\\s+", " ");
+ }
+
private void mergeLocalToBuilder() {
if (this.applicationAttemptId != null && !((ApplicationAttemptIdPBImpl)this.applicationAttemptId).getProto().equals(builder.getApplicationAttemptId())) {
builder.setApplicationAttemptId(convertToProtoFormat(this.applicationAttemptId));
diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ApplicationSubmissionContextPBImpl.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ApplicationSubmissionContextPBImpl.java
index 403ce6e..3340727 100644
--- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ApplicationSubmissionContextPBImpl.java
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ApplicationSubmissionContextPBImpl.java
@@ -22,7 +22,6 @@
import org.apache.hadoop.yarn.api.records.ApplicationSubmissionContext;
import org.apache.hadoop.yarn.api.records.ContainerLaunchContext;
import org.apache.hadoop.yarn.api.records.Priority;
-import org.apache.hadoop.yarn.api.records.ProtoBase;
import org.apache.hadoop.yarn.api.records.Resource;
import org.apache.hadoop.yarn.proto.YarnProtos.ApplicationIdProto;
import org.apache.hadoop.yarn.proto.YarnProtos.ApplicationSubmissionContextProto;
@@ -32,8 +31,7 @@
import org.apache.hadoop.yarn.proto.YarnProtos.ResourceProto;
public class ApplicationSubmissionContextPBImpl
-extends ProtoBase
-implements ApplicationSubmissionContext {
+extends ApplicationSubmissionContext {
ApplicationSubmissionContextProto proto =
ApplicationSubmissionContextProto.getDefaultInstance();
ApplicationSubmissionContextProto.Builder builder = null;
@@ -61,6 +59,26 @@ public ApplicationSubmissionContextProto getProto() {
return proto;
}
+ @Override
+ public int hashCode() {
+ return getProto().hashCode();
+ }
+
+ @Override
+ public boolean equals(Object other) {
+ if (other == null)
+ return false;
+ if (other.getClass().isAssignableFrom(this.getClass())) {
+ return this.getProto().equals(this.getClass().cast(other).getProto());
+ }
+ return false;
+ }
+
+ @Override
+ public String toString() {
+ return getProto().toString().replaceAll("\\n", ", ").replaceAll("\\s+", " ");
+ }
+
private void mergeLocalToBuilder() {
if (this.applicationId != null) {
builder.setApplicationId(convertToProtoFormat(this.applicationId));
diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ContainerLaunchContextPBImpl.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ContainerLaunchContextPBImpl.java
index 5ab7e12..bd74b92 100644
--- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ContainerLaunchContextPBImpl.java
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ContainerLaunchContextPBImpl.java
@@ -28,7 +28,6 @@
import org.apache.hadoop.yarn.api.records.ApplicationAccessType;
import org.apache.hadoop.yarn.api.records.ContainerLaunchContext;
import org.apache.hadoop.yarn.api.records.LocalResource;
-import org.apache.hadoop.yarn.api.records.ProtoBase;
import org.apache.hadoop.yarn.proto.YarnProtos.ApplicationACLMapProto;
import org.apache.hadoop.yarn.proto.YarnProtos.ContainerLaunchContextProto;
import org.apache.hadoop.yarn.proto.YarnProtos.ContainerLaunchContextProtoOrBuilder;
@@ -38,9 +37,10 @@
import org.apache.hadoop.yarn.proto.YarnProtos.StringStringMapProto;
import org.apache.hadoop.yarn.util.ProtoUtils;
+import com.google.protobuf.ByteString;
+
public class ContainerLaunchContextPBImpl
-extends ProtoBase
-implements ContainerLaunchContext {
+extends ContainerLaunchContext {
ContainerLaunchContextProto proto =
ContainerLaunchContextProto.getDefaultInstance();
ContainerLaunchContextProto.Builder builder = null;
@@ -68,7 +68,35 @@ public ContainerLaunchContextProto getProto() {
viaProto = true;
return proto;
}
-
+
+ @Override
+ public int hashCode() {
+ return getProto().hashCode();
+ }
+
+ @Override
+ public boolean equals(Object other) {
+ if (other == null)
+ return false;
+ if (other.getClass().isAssignableFrom(this.getClass())) {
+ return this.getProto().equals(this.getClass().cast(other).getProto());
+ }
+ return false;
+ }
+
+ @Override
+ public String toString() {
+ return getProto().toString().replaceAll("\\n", ", ").replaceAll("\\s+", " ");
+ }
+
+ protected final ByteBuffer convertFromProtoFormat(ByteString byteString) {
+ return ProtoUtils.convertFromProtoFormat(byteString);
+ }
+
+ protected final ByteString convertToProtoFormat(ByteBuffer byteBuffer) {
+ return ProtoUtils.convertToProtoFormat(byteBuffer);
+ }
+
private void mergeLocalToBuilder() {
if (this.localResources != null) {
addLocalResourcesToProto();
diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ContainerPBImpl.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ContainerPBImpl.java
index 68bb083..46ebfb6 100644
--- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ContainerPBImpl.java
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ContainerPBImpl.java
@@ -24,7 +24,6 @@
import org.apache.hadoop.yarn.api.records.ContainerToken;
import org.apache.hadoop.yarn.api.records.NodeId;
import org.apache.hadoop.yarn.api.records.Priority;
-import org.apache.hadoop.yarn.api.records.ProtoBase;
import org.apache.hadoop.yarn.api.records.Resource;
import org.apache.hadoop.yarn.proto.YarnProtos.ContainerIdProto;
import org.apache.hadoop.yarn.proto.YarnProtos.ContainerProto;
@@ -33,7 +32,7 @@
import org.apache.hadoop.yarn.proto.YarnProtos.PriorityProto;
import org.apache.hadoop.yarn.proto.YarnProtos.ResourceProto;
-public class ContainerPBImpl extends ProtoBase implements Container {
+public class ContainerPBImpl extends Container {
ContainerProto proto = ContainerProto.getDefaultInstance();
ContainerProto.Builder builder = null;
@@ -62,6 +61,21 @@ public ContainerProto getProto() {
return proto;
}
+ @Override
+ public int hashCode() {
+ return getProto().hashCode();
+ }
+
+ @Override
+ public boolean equals(Object other) {
+ if (other == null)
+ return false;
+ if (other.getClass().isAssignableFrom(this.getClass())) {
+ return this.getProto().equals(this.getClass().cast(other).getProto());
+ }
+ return false;
+ }
+
private void mergeLocalToBuilder() {
if (this.containerId != null
&& !((ContainerIdPBImpl) containerId).getProto().equals(
diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ContainerStatusPBImpl.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ContainerStatusPBImpl.java
index bfde5dd..5c0a1c0 100644
--- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ContainerStatusPBImpl.java
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ContainerStatusPBImpl.java
@@ -22,7 +22,6 @@
import org.apache.hadoop.yarn.api.records.ContainerId;
import org.apache.hadoop.yarn.api.records.ContainerState;
import org.apache.hadoop.yarn.api.records.ContainerStatus;
-import org.apache.hadoop.yarn.api.records.ProtoBase;
import org.apache.hadoop.yarn.proto.YarnProtos.ContainerIdProto;
import org.apache.hadoop.yarn.proto.YarnProtos.ContainerStateProto;
import org.apache.hadoop.yarn.proto.YarnProtos.ContainerStatusProto;
@@ -31,8 +30,7 @@
-public class ContainerStatusPBImpl extends ProtoBase
-implements ContainerStatus {
+public class ContainerStatusPBImpl extends ContainerStatus {
ContainerStatusProto proto = ContainerStatusProto.getDefaultInstance();
ContainerStatusProto.Builder builder = null;
boolean viaProto = false;
@@ -56,6 +54,26 @@ public ContainerStatusProto getProto() {
return proto;
}
+ @Override
+ public int hashCode() {
+ return getProto().hashCode();
+ }
+
+ @Override
+ public boolean equals(Object other) {
+ if (other == null)
+ return false;
+ if (other.getClass().isAssignableFrom(this.getClass())) {
+ return this.getProto().equals(this.getClass().cast(other).getProto());
+ }
+ return false;
+ }
+
+ @Override
+ public String toString() {
+ return getProto().toString().replaceAll("\\n", ", ").replaceAll("\\s+", " ");
+ }
+
private void mergeLocalToBuilder() {
if (containerId != null) {
builder.setContainerId(convertToProtoFormat(this.containerId));
diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/LocalResourcePBImpl.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/LocalResourcePBImpl.java
index 60ea0da..4dd77bc 100644
--- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/LocalResourcePBImpl.java
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/LocalResourcePBImpl.java
@@ -21,7 +21,6 @@
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.ProtoBase;
import org.apache.hadoop.yarn.api.records.URL;
import org.apache.hadoop.yarn.proto.YarnProtos.LocalResourceProto;
import org.apache.hadoop.yarn.proto.YarnProtos.LocalResourceProtoOrBuilder;
@@ -32,8 +31,7 @@
-public class LocalResourcePBImpl extends ProtoBase
- implements LocalResource {
+public class LocalResourcePBImpl extends LocalResource {
LocalResourceProto proto = LocalResourceProto.getDefaultInstance();
LocalResourceProto.Builder builder = null;
boolean viaProto = false;
@@ -56,6 +54,26 @@ public synchronized LocalResourceProto getProto() {
return proto;
}
+ @Override
+ public int hashCode() {
+ return getProto().hashCode();
+ }
+
+ @Override
+ public boolean equals(Object other) {
+ if (other == null)
+ return false;
+ if (other.getClass().isAssignableFrom(this.getClass())) {
+ return this.getProto().equals(this.getClass().cast(other).getProto());
+ }
+ return false;
+ }
+
+ @Override
+ public String toString() {
+ return getProto().toString().replaceAll("\\n", ", ").replaceAll("\\s+", " ");
+ }
+
private synchronized void mergeLocalToBuilder() {
LocalResourceProtoOrBuilder l = viaProto ? proto : builder;
if (this.url != null
diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/NodeHealthStatusPBImpl.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/NodeHealthStatusPBImpl.java
index 39dada7..a31427d 100644
--- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/NodeHealthStatusPBImpl.java
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/NodeHealthStatusPBImpl.java
@@ -19,12 +19,10 @@
package org.apache.hadoop.yarn.api.records.impl.pb;
import org.apache.hadoop.yarn.api.records.NodeHealthStatus;
-import org.apache.hadoop.yarn.api.records.ProtoBase;
import org.apache.hadoop.yarn.proto.YarnProtos.NodeHealthStatusProto;
import org.apache.hadoop.yarn.proto.YarnProtos.NodeHealthStatusProtoOrBuilder;
-public class NodeHealthStatusPBImpl extends ProtoBase
- implements NodeHealthStatus {
+public class NodeHealthStatusPBImpl extends NodeHealthStatus {
private NodeHealthStatusProto.Builder builder;
private boolean viaProto = false;
@@ -47,6 +45,26 @@ public NodeHealthStatusProto getProto() {
return this.proto;
}
+ @Override
+ public int hashCode() {
+ return getProto().hashCode();
+ }
+
+ @Override
+ public boolean equals(Object other) {
+ if (other == null)
+ return false;
+ if (other.getClass().isAssignableFrom(this.getClass())) {
+ return this.getProto().equals(this.getClass().cast(other).getProto());
+ }
+ return false;
+ }
+
+ @Override
+ public String toString() {
+ return getProto().toString().replaceAll("\\n", ", ").replaceAll("\\s+", " ");
+ }
+
private void mergeLocalToProto() {
if (this.viaProto)
maybeInitBuilder();
diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/NodeReportPBImpl.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/NodeReportPBImpl.java
index 115a7da..72b9d43 100644
--- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/NodeReportPBImpl.java
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/NodeReportPBImpl.java
@@ -22,7 +22,6 @@
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.ProtoBase;
import org.apache.hadoop.yarn.api.records.Resource;
import org.apache.hadoop.yarn.proto.YarnProtos.NodeHealthStatusProto;
import org.apache.hadoop.yarn.proto.YarnProtos.NodeIdProto;
@@ -31,8 +30,7 @@
import org.apache.hadoop.yarn.proto.YarnProtos.ResourceProto;
import org.apache.hadoop.yarn.util.ProtoUtils;
-public class NodeReportPBImpl extends ProtoBase
- implements NodeReport {
+public class NodeReportPBImpl extends NodeReport {
private NodeReportProto proto = NodeReportProto.getDefaultInstance();
private NodeReportProto.Builder builder = null;
@@ -206,7 +204,6 @@ public void setUsed(Resource used) {
this.used = used;
}
- @Override
public NodeReportProto getProto() {
mergeLocalToProto();
proto = viaProto ? proto : builder.build();
@@ -214,6 +211,26 @@ public NodeReportProto getProto() {
return proto;
}
+ @Override
+ public int hashCode() {
+ return getProto().hashCode();
+ }
+
+ @Override
+ public boolean equals(Object other) {
+ if (other == null)
+ return false;
+ if (other.getClass().isAssignableFrom(this.getClass())) {
+ return this.getProto().equals(this.getClass().cast(other).getProto());
+ }
+ return false;
+ }
+
+ @Override
+ public String toString() {
+ return getProto().toString().replaceAll("\\n", ", ").replaceAll("\\s+", " ");
+ }
+
private void mergeLocalToBuilder() {
if (this.nodeId != null
&& !((NodeIdPBImpl) this.nodeId).getProto().equals(
diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/QueueInfoPBImpl.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/QueueInfoPBImpl.java
index 6862539..3c24c34 100644
--- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/QueueInfoPBImpl.java
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/QueueInfoPBImpl.java
@@ -23,7 +23,6 @@
import java.util.List;
import org.apache.hadoop.yarn.api.records.ApplicationReport;
-import org.apache.hadoop.yarn.api.records.ProtoBase;
import org.apache.hadoop.yarn.api.records.QueueInfo;
import org.apache.hadoop.yarn.api.records.QueueState;
import org.apache.hadoop.yarn.proto.YarnProtos.ApplicationReportProto;
@@ -32,8 +31,7 @@
import org.apache.hadoop.yarn.proto.YarnProtos.QueueStateProto;
import org.apache.hadoop.yarn.util.ProtoUtils;
-public class QueueInfoPBImpl extends ProtoBase implements
- QueueInfo {
+public class QueueInfoPBImpl extends QueueInfo {
QueueInfoProto proto = QueueInfoProto.getDefaultInstance();
QueueInfoProto.Builder builder = null;
@@ -150,7 +148,6 @@ public void setQueueState(QueueState queueState) {
builder.setState(convertToProtoFormat(queueState));
}
- @Override
public QueueInfoProto getProto() {
mergeLocalToProto();
proto = viaProto ? proto : builder.build();
@@ -158,6 +155,26 @@ public QueueInfoProto getProto() {
return proto;
}
+ @Override
+ public int hashCode() {
+ return getProto().hashCode();
+ }
+
+ @Override
+ public boolean equals(Object other) {
+ if (other == null)
+ return false;
+ if (other.getClass().isAssignableFrom(this.getClass())) {
+ return this.getProto().equals(this.getClass().cast(other).getProto());
+ }
+ return false;
+ }
+
+ @Override
+ public String toString() {
+ return getProto().toString().replaceAll("\\n", ", ").replaceAll("\\s+", " ");
+ }
+
private void initLocalApplicationsList() {
if (this.applicationsList != null) {
return;
diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/QueueUserACLInfoPBImpl.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/QueueUserACLInfoPBImpl.java
index 50eaedd..a34eaa1 100644
--- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/QueueUserACLInfoPBImpl.java
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/QueueUserACLInfoPBImpl.java
@@ -23,15 +23,13 @@
import java.util.List;
import org.apache.hadoop.yarn.api.records.QueueACL;
-import org.apache.hadoop.yarn.api.records.ProtoBase;
import org.apache.hadoop.yarn.api.records.QueueUserACLInfo;
import org.apache.hadoop.yarn.proto.YarnProtos.QueueACLProto;
import org.apache.hadoop.yarn.proto.YarnProtos.QueueUserACLInfoProto;
import org.apache.hadoop.yarn.proto.YarnProtos.QueueUserACLInfoProtoOrBuilder;
import org.apache.hadoop.yarn.util.ProtoUtils;
-public class QueueUserACLInfoPBImpl extends ProtoBase
-implements QueueUserACLInfo {
+public class QueueUserACLInfoPBImpl extends QueueUserACLInfo {
QueueUserACLInfoProto proto = QueueUserACLInfoProto.getDefaultInstance();
QueueUserACLInfoProto.Builder builder = null;
@@ -78,7 +76,6 @@ public void setUserAcls(List userAclsList) {
this.userAclsList = userAclsList;
}
- @Override
public QueueUserACLInfoProto getProto() {
mergeLocalToProto();
proto = viaProto ? proto : builder.build();
@@ -86,6 +83,26 @@ public QueueUserACLInfoProto getProto() {
return proto;
}
+ @Override
+ public int hashCode() {
+ return getProto().hashCode();
+ }
+
+ @Override
+ public boolean equals(Object other) {
+ if (other == null)
+ return false;
+ if (other.getClass().isAssignableFrom(this.getClass())) {
+ return this.getProto().equals(this.getClass().cast(other).getProto());
+ }
+ return false;
+ }
+
+ @Override
+ public String toString() {
+ return getProto().toString().replaceAll("\\n", ", ").replaceAll("\\s+", " ");
+ }
+
private void initLocalQueueUserAclsList() {
if (this.userAclsList != null) {
return;
diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/URLPBImpl.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/URLPBImpl.java
index d7b1bd0..4d50776 100644
--- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/URLPBImpl.java
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/URLPBImpl.java
@@ -19,14 +19,13 @@
package org.apache.hadoop.yarn.api.records.impl.pb;
-import org.apache.hadoop.yarn.api.records.ProtoBase;
import org.apache.hadoop.yarn.api.records.URL;
import org.apache.hadoop.yarn.proto.YarnProtos.URLProto;
import org.apache.hadoop.yarn.proto.YarnProtos.URLProtoOrBuilder;
-public class URLPBImpl extends ProtoBase implements URL {
+public class URLPBImpl extends URL {
URLProto proto = URLProto.getDefaultInstance();
URLProto.Builder builder = null;
boolean viaProto = false;
@@ -46,6 +45,26 @@ public URLProto getProto() {
return proto;
}
+ @Override
+ public int hashCode() {
+ return getProto().hashCode();
+ }
+
+ @Override
+ public boolean equals(Object other) {
+ if (other == null)
+ return false;
+ if (other.getClass().isAssignableFrom(this.getClass())) {
+ return this.getProto().equals(this.getClass().cast(other).getProto());
+ }
+ return false;
+ }
+
+ @Override
+ public String toString() {
+ return getProto().toString().replaceAll("\\n", ", ").replaceAll("\\s+", " ");
+ }
+
private void maybeInitBuilder() {
if (viaProto || builder == null) {
builder = URLProto.newBuilder(proto);
diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/YarnClusterMetricsPBImpl.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/YarnClusterMetricsPBImpl.java
index a6672ed..bd31db0 100644
--- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/YarnClusterMetricsPBImpl.java
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/YarnClusterMetricsPBImpl.java
@@ -19,14 +19,13 @@
package org.apache.hadoop.yarn.api.records.impl.pb;
-import org.apache.hadoop.yarn.api.records.ProtoBase;
import org.apache.hadoop.yarn.api.records.YarnClusterMetrics;
import org.apache.hadoop.yarn.proto.YarnProtos.YarnClusterMetricsProto;
import org.apache.hadoop.yarn.proto.YarnProtos.YarnClusterMetricsProtoOrBuilder;
-public class YarnClusterMetricsPBImpl extends ProtoBase implements YarnClusterMetrics {
+public class YarnClusterMetricsPBImpl extends YarnClusterMetrics {
YarnClusterMetricsProto proto = YarnClusterMetricsProto.getDefaultInstance();
YarnClusterMetricsProto.Builder builder = null;
boolean viaProto = false;
@@ -46,6 +45,26 @@ public YarnClusterMetricsProto getProto() {
return proto;
}
+ @Override
+ public int hashCode() {
+ return getProto().hashCode();
+ }
+
+ @Override
+ public boolean equals(Object other) {
+ if (other == null)
+ return false;
+ if (other.getClass().isAssignableFrom(this.getClass())) {
+ return this.getProto().equals(this.getClass().cast(other).getProto());
+ }
+ return false;
+ }
+
+ @Override
+ public String toString() {
+ return getProto().toString().replaceAll("\\n", ", ").replaceAll("\\s+", " ");
+ }
+
private void maybeInitBuilder() {
if (viaProto || builder == null) {
builder = YarnClusterMetricsProto.newBuilder(proto);
diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/LocalResourceRequest.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/LocalResourceRequest.java
index 3d0e0fd..70bead7 100644
--- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/LocalResourceRequest.java
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/localizer/LocalResourceRequest.java
@@ -28,7 +28,7 @@
import org.apache.hadoop.yarn.util.ConverterUtils;
public class LocalResourceRequest
- implements LocalResource, Comparable {
+ extends LocalResource implements Comparable {
private final Path loc;
private final long timestamp;
diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/applicationsmanager/MockAsm.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/applicationsmanager/MockAsm.java
index afab180..9e73f97 100644
--- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/applicationsmanager/MockAsm.java
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/applicationsmanager/MockAsm.java
@@ -46,7 +46,7 @@
@InterfaceAudience.Private
public abstract class MockAsm extends MockApps {
- public static class AppMasterBase implements ApplicationMaster {
+ public static class AppMasterBase extends ApplicationMaster {
@Override
public ApplicationId getApplicationId() {
throw new UnsupportedOperationException("Not supported yet.");