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() {