diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-common/src/main/java/org/apache/hadoop/mapreduce/TypeConverter.java b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-common/src/main/java/org/apache/hadoop/mapreduce/TypeConverter.java
index ca38bab..aea931a 100644
--- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-common/src/main/java/org/apache/hadoop/mapreduce/TypeConverter.java
+++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-common/src/main/java/org/apache/hadoop/mapreduce/TypeConverter.java
@@ -521,13 +521,14 @@ public static JobStatus fromYarn(ApplicationReport application,
application.getApplicationResourceUsageReport();
if (resourceUsageReport != null) {
jobStatus.setNeededMem(
- resourceUsageReport.getNeededResources().getMemorySize());
+ (int)resourceUsageReport.getNeededResources().getMemorySize());
jobStatus.setNumReservedSlots(
resourceUsageReport.getNumReservedContainers());
jobStatus.setNumUsedSlots(resourceUsageReport.getNumUsedContainers());
jobStatus.setReservedMem(
- resourceUsageReport.getReservedResources().getMemorySize());
- jobStatus.setUsedMem(resourceUsageReport.getUsedResources().getMemorySize());
+ (int)resourceUsageReport.getReservedResources().getMemorySize());
+ jobStatus.setUsedMem(
+ (int) resourceUsageReport.getUsedResources().getMemorySize());
}
return jobStatus;
}
diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/JobStatus.java b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/JobStatus.java
index 7438296..9ff75b98 100644
--- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/JobStatus.java
+++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/JobStatus.java
@@ -95,9 +95,9 @@ public int getValue() {
private String trackingUrl ="";
private int numUsedSlots;
private int numReservedSlots;
- private long usedMem;
- private long reservedMem;
- private long neededMem;
+ private int usedMem;
+ private int reservedMem;
+ private int neededMem;
private boolean isUber;
/**
@@ -580,42 +580,42 @@ public void setNumReservedSlots(int n) {
/**
* @return the used memory
*/
- public long getUsedMem() {
+ public int getUsedMem() {
return usedMem;
}
/**
* @param m the used memory
*/
- public void setUsedMem(long m) {
+ public void setUsedMem(int m) {
this.usedMem = m;
}
/**
* @return the reserved memory
*/
- public long getReservedMem() {
+ public int getReservedMem() {
return reservedMem;
}
/**
* @param r the reserved memory
*/
- public void setReservedMem(long r) {
+ public void setReservedMem(int r) {
this.reservedMem = r;
}
/**
* @return the needed memory
*/
- public long getNeededMem() {
+ public int getNeededMem() {
return neededMem;
}
/**
* @param n the needed memory
*/
- public void setNeededMem(long n) {
+ public void setNeededMem(int n) {
this.neededMem = n;
}
diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapred/JobClientUnitTest.java b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapred/JobClientUnitTest.java
index e02232d..b5edf2d 100644
--- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapred/JobClientUnitTest.java
+++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/test/java/org/apache/hadoop/mapred/JobClientUnitTest.java
@@ -170,9 +170,9 @@ public void testShowJob() throws Exception {
when(mockJobStatus.getPriority()).thenReturn(JobPriority.NORMAL);
when(mockJobStatus.getNumUsedSlots()).thenReturn(1);
when(mockJobStatus.getNumReservedSlots()).thenReturn(1);
- when(mockJobStatus.getUsedMem()).thenReturn(1024L);
- when(mockJobStatus.getReservedMem()).thenReturn(512L);
- when(mockJobStatus.getNeededMem()).thenReturn(2048L);
+ when(mockJobStatus.getUsedMem()).thenReturn(1024);
+ when(mockJobStatus.getReservedMem()).thenReturn(512);
+ when(mockJobStatus.getNeededMem()).thenReturn(2048);
when(mockJobStatus.getSchedulingInfo()).thenReturn("NA");
Job mockJob = mock(Job.class);
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/Resource.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/Resource.java
index 0d31b6f..ea40570 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/Resource.java
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/Resource.java
@@ -20,6 +20,7 @@
import org.apache.commons.lang.NotImplementedException;
import org.apache.hadoop.classification.InterfaceAudience.Public;
+import org.apache.hadoop.classification.InterfaceStability;
import org.apache.hadoop.classification.InterfaceStability.Evolving;
import org.apache.hadoop.classification.InterfaceStability.Stable;
import org.apache.hadoop.yarn.api.ApplicationMasterProtocol;
@@ -112,6 +113,9 @@ public void setMemorySize(long memory) {
"This method is implemented by ResourcePBImpl");
}
+ @Public
+ @Evolving
+ public abstract int getVirtualCores();
/**
* Get number of virtual cpu cores of the resource.
@@ -124,8 +128,24 @@ public void setMemorySize(long memory) {
* @return num of virtual cpu cores of the resource
*/
@Public
+ @InterfaceStability.Unstable
+ public long getVirtualCoresSize() {
+ throw new NotImplementedException("getVirtualCoresSize is not implemented");
+ }
+
+ /**
+ * Set number of virtual cpu cores of the resource.
+ *
+ * Virtual cores are a unit for expressing CPU parallelism. A node's capacity
+ * should be configured with virtual cores equal to its number of physical cores.
+ * A container should be requested with the number of cores it can saturate, i.e.
+ * the average number of threads it expects to have runnable at a time.
+ *
+ * @param vCores number of virtual cpu cores of the resource
+ */
+ @Public
@Evolving
- public abstract int getVirtualCores();
+ public abstract void setVirtualCores(int vCores);
/**
* Set number of virtual cpu cores of the resource.
@@ -139,7 +159,9 @@ public void setMemorySize(long memory) {
*/
@Public
@Evolving
- public abstract void setVirtualCores(int vCores);
+ public void setVirtualCores(long vCores) {
+ throw new NotImplementedException("getVirtualCoresSize is not implemented");
+ }
@Override
public int hashCode() {