You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by tg...@apache.org on 2013/03/26 20:08:27 UTC
svn commit: r1461272 - in
/hadoop/common/branches/branch-2/hadoop-tools/hadoop-gridmix/src:
main/java/org/apache/hadoop/mapred/gridmix/emulators/resourceusage/
test/java/org/apache/hadoop/mapred/gridmix/
Author: tgraves
Date: Tue Mar 26 19:08:26 2013
New Revision: 1461272
URL: http://svn.apache.org/r1461272
Log:
MAPREDUCE-4083. [Gridmix] NPE in cpu emulation. (amarrk via tgraves)
Modified:
hadoop/common/branches/branch-2/hadoop-tools/hadoop-gridmix/src/main/java/org/apache/hadoop/mapred/gridmix/emulators/resourceusage/CumulativeCpuUsageEmulatorPlugin.java
hadoop/common/branches/branch-2/hadoop-tools/hadoop-gridmix/src/main/java/org/apache/hadoop/mapred/gridmix/emulators/resourceusage/TotalHeapUsageEmulatorPlugin.java
hadoop/common/branches/branch-2/hadoop-tools/hadoop-gridmix/src/test/java/org/apache/hadoop/mapred/gridmix/TestGridmixMemoryEmulation.java
hadoop/common/branches/branch-2/hadoop-tools/hadoop-gridmix/src/test/java/org/apache/hadoop/mapred/gridmix/TestResourceUsageEmulators.java
Modified: hadoop/common/branches/branch-2/hadoop-tools/hadoop-gridmix/src/main/java/org/apache/hadoop/mapred/gridmix/emulators/resourceusage/CumulativeCpuUsageEmulatorPlugin.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-tools/hadoop-gridmix/src/main/java/org/apache/hadoop/mapred/gridmix/emulators/resourceusage/CumulativeCpuUsageEmulatorPlugin.java?rev=1461272&r1=1461271&r2=1461272&view=diff
==============================================================================
--- hadoop/common/branches/branch-2/hadoop-tools/hadoop-gridmix/src/main/java/org/apache/hadoop/mapred/gridmix/emulators/resourceusage/CumulativeCpuUsageEmulatorPlugin.java (original)
+++ hadoop/common/branches/branch-2/hadoop-tools/hadoop-gridmix/src/main/java/org/apache/hadoop/mapred/gridmix/emulators/resourceusage/CumulativeCpuUsageEmulatorPlugin.java Tue Mar 26 19:08:26 2013
@@ -236,7 +236,9 @@ implements ResourceUsageEmulatorPlugin {
@Override
public float getProgress() {
- return Math.min(1f, ((float)getCurrentCPUUsage())/targetCpuUsage);
+ return enabled
+ ? Math.min(1f, ((float)getCurrentCPUUsage())/targetCpuUsage)
+ : 1.0f;
}
@Override
@@ -298,6 +300,9 @@ implements ResourceUsageEmulatorPlugin {
public void initialize(Configuration conf, ResourceUsageMetrics metrics,
ResourceCalculatorPlugin monitor,
Progressive progress) {
+ this.monitor = monitor;
+ this.progress = progress;
+
// get the target CPU usage
targetCpuUsage = metrics.getCumulativeCpuUsage();
if (targetCpuUsage <= 0 ) {
@@ -307,8 +312,6 @@ implements ResourceUsageEmulatorPlugin {
enabled = true;
}
- this.monitor = monitor;
- this.progress = progress;
emulationInterval = conf.getFloat(CPU_EMULATION_PROGRESS_INTERVAL,
DEFAULT_EMULATION_FREQUENCY);
Modified: hadoop/common/branches/branch-2/hadoop-tools/hadoop-gridmix/src/main/java/org/apache/hadoop/mapred/gridmix/emulators/resourceusage/TotalHeapUsageEmulatorPlugin.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-tools/hadoop-gridmix/src/main/java/org/apache/hadoop/mapred/gridmix/emulators/resourceusage/TotalHeapUsageEmulatorPlugin.java?rev=1461272&r1=1461271&r2=1461272&view=diff
==============================================================================
--- hadoop/common/branches/branch-2/hadoop-tools/hadoop-gridmix/src/main/java/org/apache/hadoop/mapred/gridmix/emulators/resourceusage/TotalHeapUsageEmulatorPlugin.java (original)
+++ hadoop/common/branches/branch-2/hadoop-tools/hadoop-gridmix/src/main/java/org/apache/hadoop/mapred/gridmix/emulators/resourceusage/TotalHeapUsageEmulatorPlugin.java Tue Mar 26 19:08:26 2013
@@ -188,7 +188,9 @@ implements ResourceUsageEmulatorPlugin {
@Override
public float getProgress() {
- return Math.min(1f, ((float)getTotalHeapUsageInMB())/targetHeapUsageInMB);
+ return enabled
+ ? Math.min(1f, ((float)getTotalHeapUsageInMB())/targetHeapUsageInMB)
+ : 1.0f;
}
@Override
@@ -237,6 +239,8 @@ implements ResourceUsageEmulatorPlugin {
public void initialize(Configuration conf, ResourceUsageMetrics metrics,
ResourceCalculatorPlugin monitor,
Progressive progress) {
+ this.progress = progress;
+
// get the target heap usage
targetHeapUsageInMB = metrics.getHeapUsage() / ONE_MB;
if (targetHeapUsageInMB <= 0 ) {
@@ -248,7 +252,6 @@ implements ResourceUsageEmulatorPlugin {
enabled = true;
}
- this.progress = progress;
emulationInterval =
conf.getFloat(HEAP_EMULATION_PROGRESS_INTERVAL,
DEFAULT_EMULATION_PROGRESS_INTERVAL);
Modified: hadoop/common/branches/branch-2/hadoop-tools/hadoop-gridmix/src/test/java/org/apache/hadoop/mapred/gridmix/TestGridmixMemoryEmulation.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-tools/hadoop-gridmix/src/test/java/org/apache/hadoop/mapred/gridmix/TestGridmixMemoryEmulation.java?rev=1461272&r1=1461271&r2=1461272&view=diff
==============================================================================
--- hadoop/common/branches/branch-2/hadoop-tools/hadoop-gridmix/src/test/java/org/apache/hadoop/mapred/gridmix/TestGridmixMemoryEmulation.java (original)
+++ hadoop/common/branches/branch-2/hadoop-tools/hadoop-gridmix/src/test/java/org/apache/hadoop/mapred/gridmix/TestGridmixMemoryEmulation.java Tue Mar 26 19:08:26 2013
@@ -170,6 +170,11 @@ public class TestGridmixMemoryEmulation
assertEquals("Disabled heap usage emulation plugin works!",
heapUsagePre, heapUsagePost);
+ // test with get progress
+ float progress = heapPlugin.getProgress();
+ assertEquals("Invalid progress of disabled cumulative heap usage emulation "
+ + "plugin!", 1.0f, progress, 0f);
+
// test with wrong/invalid configuration
Boolean failed = null;
invalidUsage =
Modified: hadoop/common/branches/branch-2/hadoop-tools/hadoop-gridmix/src/test/java/org/apache/hadoop/mapred/gridmix/TestResourceUsageEmulators.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-2/hadoop-tools/hadoop-gridmix/src/test/java/org/apache/hadoop/mapred/gridmix/TestResourceUsageEmulators.java?rev=1461272&r1=1461271&r2=1461272&view=diff
==============================================================================
--- hadoop/common/branches/branch-2/hadoop-tools/hadoop-gridmix/src/test/java/org/apache/hadoop/mapred/gridmix/TestResourceUsageEmulators.java (original)
+++ hadoop/common/branches/branch-2/hadoop-tools/hadoop-gridmix/src/test/java/org/apache/hadoop/mapred/gridmix/TestResourceUsageEmulators.java Tue Mar 26 19:08:26 2013
@@ -472,6 +472,11 @@ public class TestResourceUsageEmulators
assertEquals("Disabled cumulative CPU usage emulation plugin works!",
cpuUsagePre, cpuUsagePost);
+ // test with get progress
+ float progress = cpuPlugin.getProgress();
+ assertEquals("Invalid progress of disabled cumulative CPU usage emulation "
+ + "plugin!", 1.0f, progress, 0f);
+
// test with valid resource usage value
ResourceUsageMetrics metrics = createMetrics(targetCpuUsage);