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 wa...@apache.org on 2017/09/12 16:27:12 UTC
[39/40] hadoop git commit: YARN-7042. Clean up unit tests after
YARN-6610. (Daniel Templeton via wangda)
YARN-7042. Clean up unit tests after YARN-6610. (Daniel Templeton via wangda)
Change-Id: I8e40f704b6fcdd5b14faa9548a27986501044fa1
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/b1fe3a22
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/b1fe3a22
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/b1fe3a22
Branch: refs/heads/trunk
Commit: b1fe3a222e7673fd84a878622969f958022061e9
Parents: a6989af
Author: Wangda Tan <wa...@apache.org>
Authored: Thu Aug 17 11:18:08 2017 -0700
Committer: Wangda Tan <wa...@apache.org>
Committed: Tue Sep 12 09:19:12 2017 -0700
----------------------------------------------------------------------
.../resource/DominantResourceCalculator.java | 2 +-
.../util/resource/TestResourceCalculator.java | 95 ++++++++++----------
2 files changed, 49 insertions(+), 48 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hadoop/blob/b1fe3a22/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/resource/DominantResourceCalculator.java
----------------------------------------------------------------------
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/resource/DominantResourceCalculator.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/resource/DominantResourceCalculator.java
index 40b38b9..1e99bc7 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/resource/DominantResourceCalculator.java
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/resource/DominantResourceCalculator.java
@@ -126,7 +126,7 @@ public class DominantResourceCalculator extends ResourceCalculator {
diff = max[0] - max[1];
} else if (clusterRes.length == 2) {
// Special case to handle the common scenario of only CPU and memory
- // so the we can optimize for performance
+ // so that we can optimize for performance
diff = calculateSharesForMandatoryResources(clusterRes, lhs, rhs,
lhsShares, rhsShares);
} else {
http://git-wip-us.apache.org/repos/asf/hadoop/blob/b1fe3a22/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/resource/TestResourceCalculator.java
----------------------------------------------------------------------
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/resource/TestResourceCalculator.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/resource/TestResourceCalculator.java
index 19e7f8d..5b4155c 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/resource/TestResourceCalculator.java
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/resource/TestResourceCalculator.java
@@ -24,7 +24,7 @@ import java.util.Collection;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.yarn.api.records.Resource;
import org.apache.hadoop.yarn.conf.YarnConfiguration;
-import org.junit.BeforeClass;
+import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
@@ -44,13 +44,18 @@ public class TestResourceCalculator {
{ new DominantResourceCalculator() } });
}
- @BeforeClass
- public static void setup() {
+ @Before
+ public void setupNoExtraResource() {
+ // This has to run before each test because we don't know when
+ // setupExtraResource() might be called
+ ResourceUtils.resetResourceTypes(new Configuration());
+ }
+
+ private static void setupExtraResource() {
Configuration conf = new Configuration();
conf.set(YarnConfiguration.RESOURCE_TYPES, "test");
ResourceUtils.resetResourceTypes(conf);
- ResourceUtils.getResourceTypes();
}
public TestResourceCalculator(ResourceCalculator rs) {
@@ -86,9 +91,15 @@ public class TestResourceCalculator {
}
}
- private Resource newResource(long memory, int cpu, int test) {
+ private Resource newResource(long memory, int cpu) {
Resource res = Resource.newInstance(memory, cpu);
+ return res;
+ }
+
+ private Resource newResource(long memory, int cpu, int test) {
+ Resource res = newResource(memory, cpu);
+
res.setResourceValue("test", test);
return res;
@@ -123,28 +134,48 @@ public class TestResourceCalculator {
}
@Test
- public void testCompare2() {
+ public void testCompareWithOnlyMandatory() {
+ // This test is necessary because there are optimizations that are only
+ // triggered when only the mandatory resources are configured.
+
// Keep cluster resources even so that the numbers are easy to understand
- Resource cluster = Resource.newInstance(4, 4);
+ Resource cluster = newResource(4, 4);
- assertComparison(cluster, Resource.newInstance(1, 1),
- Resource.newInstance(1, 1), 0);
- assertComparison(cluster, Resource.newInstance(0, 0),
- Resource.newInstance(0, 0), 0);
- assertComparison(cluster, Resource.newInstance(2, 2),
- Resource.newInstance(1, 1), 1);
- assertComparison(cluster, Resource.newInstance(2, 2),
- Resource.newInstance(0, 0), 1);
+ assertComparison(cluster, newResource(1, 1), newResource(1, 1), 0);
+ assertComparison(cluster, newResource(0, 0), newResource(0, 0), 0);
+ assertComparison(cluster, newResource(2, 2), newResource(1, 1), 1);
+ assertComparison(cluster, newResource(2, 2), newResource(0, 0), 1);
if (resourceCalculator instanceof DefaultResourceCalculator) {
- testCompareDefault2(cluster);
+ testCompareDefaultWithOnlyMandatory(cluster);
} else if (resourceCalculator instanceof DominantResourceCalculator) {
- testCompareDominant2(cluster);
+ testCompareDominantWithOnlyMandatory(cluster);
}
}
+ private void testCompareDefaultWithOnlyMandatory(Resource cluster) {
+ assertComparison(cluster, newResource(1, 1), newResource(1, 1), 0);
+ assertComparison(cluster, newResource(1, 2), newResource(1, 1), 0);
+ assertComparison(cluster, newResource(1, 1), newResource(1, 0), 0);
+ assertComparison(cluster, newResource(2, 1), newResource(1, 1), 1);
+ assertComparison(cluster, newResource(2, 1), newResource(1, 2), 1);
+ assertComparison(cluster, newResource(2, 1), newResource(1, 0), 1);
+ }
+
+ private void testCompareDominantWithOnlyMandatory(Resource cluster) {
+ assertComparison(cluster, newResource(2, 1), newResource(2, 1), 0);
+ assertComparison(cluster, newResource(2, 1), newResource(1, 2), 0);
+ assertComparison(cluster, newResource(2, 1), newResource(1, 1), 1);
+ assertComparison(cluster, newResource(2, 2), newResource(2, 1), 1);
+ assertComparison(cluster, newResource(2, 2), newResource(1, 2), 1);
+ assertComparison(cluster, newResource(3, 1), newResource(3, 0), 1);
+ }
+
@Test
public void testCompare() {
+ // Test with 3 resources
+ setupExtraResource();
+
// Keep cluster resources even so that the numbers are easy to understand
Resource cluster = newResource(4L, 4, 4);
@@ -160,36 +191,6 @@ public class TestResourceCalculator {
}
}
- private void testCompareDefault2(Resource cluster) {
- assertComparison(cluster, Resource.newInstance(1, 1),
- Resource.newInstance(1, 1), 0);
- assertComparison(cluster, Resource.newInstance(1, 2),
- Resource.newInstance(1, 1), 0);
- assertComparison(cluster, Resource.newInstance(1, 1),
- Resource.newInstance(1, 0), 0);
- assertComparison(cluster, Resource.newInstance(2, 1),
- Resource.newInstance(1, 1), 1);
- assertComparison(cluster, Resource.newInstance(2, 1),
- Resource.newInstance(1, 2), 1);
- assertComparison(cluster, Resource.newInstance(2, 1),
- Resource.newInstance(1, 0), 1);
- }
-
- private void testCompareDominant2(Resource cluster) {
- assertComparison(cluster, Resource.newInstance(2, 1),
- Resource.newInstance(2, 1), 0);
- assertComparison(cluster, Resource.newInstance(2, 1),
- Resource.newInstance(1, 2), 0);
- assertComparison(cluster, Resource.newInstance(2, 1),
- Resource.newInstance(1, 1), 1);
- assertComparison(cluster, Resource.newInstance(2, 2),
- Resource.newInstance(2, 1), 1);
- assertComparison(cluster, Resource.newInstance(2, 2),
- Resource.newInstance(1, 2), 1);
- assertComparison(cluster, Resource.newInstance(3, 1),
- Resource.newInstance(3, 0), 1);
- }
-
private void testCompareDefault(Resource cluster) {
assertComparison(cluster, newResource(1, 1, 2), newResource(1, 1, 1), 0);
assertComparison(cluster, newResource(1, 2, 1), newResource(1, 1, 1), 0);
---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org