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 2018/07/16 18:04:10 UTC
[3/3] hadoop git commit: YARN-8524. Single parameter Resource /
LightWeightResource constructor looks confusing. (Szilard Nemeth via wangda)
YARN-8524. Single parameter Resource / LightWeightResource constructor looks confusing. (Szilard Nemeth via wangda)
Change-Id: I4ae97548b5b8d76a6bcebb2d3d70bf8e0be3c125
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/238ffff9
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/238ffff9
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/238ffff9
Branch: refs/heads/trunk
Commit: 238ffff99907290fb2cf791a1ad28ff7f78952f4
Parents: a2e49f4
Author: Wangda Tan <wa...@apache.org>
Authored: Mon Jul 16 10:58:00 2018 -0700
Committer: Wangda Tan <wa...@apache.org>
Committed: Mon Jul 16 10:58:00 2018 -0700
----------------------------------------------------------------------
.../hadoop/yarn/api/records/Resource.java | 11 ------
.../api/records/impl/LightWeightResource.java | 16 ---------
.../hadoop/yarn/util/resource/Resources.java | 23 ++++++++++++-
.../yarn/util/resource/TestResources.java | 36 ++++++++++++++++++++
.../scheduler/fair/ConfigurableResource.java | 8 ++++-
5 files changed, 65 insertions(+), 29 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hadoop/blob/238ffff9/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/Resource.java
----------------------------------------------------------------------
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 173d4c9..3cac1d1 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
@@ -76,17 +76,6 @@ public abstract class Resource implements Comparable<Resource> {
@Private
public static final int VCORES_INDEX = 1;
- /**
- * Return a new {@link Resource} instance with all resource values
- * initialized to {@code value}.
- * @param value the value to use for all resources
- * @return a new {@link Resource} instance
- */
- @Private
- @Unstable
- public static Resource newInstance(long value) {
- return new LightWeightResource(value);
- }
@Public
@Stable
http://git-wip-us.apache.org/repos/asf/hadoop/blob/238ffff9/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/LightWeightResource.java
----------------------------------------------------------------------
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/LightWeightResource.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/LightWeightResource.java
index 77f77f3..02afe50 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/LightWeightResource.java
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/api/records/impl/LightWeightResource.java
@@ -64,22 +64,6 @@ public class LightWeightResource extends Resource {
private ResourceInformation memoryResInfo;
private ResourceInformation vcoresResInfo;
- /**
- * Create a new {@link LightWeightResource} instance with all resource values
- * initialized to {@code value}.
- * @param value the value to use for all resources
- */
- public LightWeightResource(long value) {
- ResourceInformation[] types = ResourceUtils.getResourceTypesArray();
- initResourceInformations(value, value, types.length);
-
- for (int i = 2; i < types.length; i++) {
- resources[i] = new ResourceInformation();
- ResourceInformation.copy(types[i], resources[i]);
- resources[i].setValue(value);
- }
- }
-
public LightWeightResource(long memory, int vcores) {
int numberOfKnownResourceTypes = ResourceUtils
.getNumberOfKnownResourceTypes();
http://git-wip-us.apache.org/repos/asf/hadoop/blob/238ffff9/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/resource/Resources.java
----------------------------------------------------------------------
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/resource/Resources.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/resource/Resources.java
index 7826f51..ace8b5d 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/resource/Resources.java
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/util/resource/Resources.java
@@ -21,9 +21,11 @@ package org.apache.hadoop.yarn.util.resource;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceAudience.Private;
import org.apache.hadoop.classification.InterfaceStability.Unstable;
import org.apache.hadoop.yarn.api.records.Resource;
import org.apache.hadoop.yarn.api.records.ResourceInformation;
+import org.apache.hadoop.yarn.api.records.impl.LightWeightResource;
import org.apache.hadoop.yarn.exceptions.ResourceNotFoundException;
import org.apache.hadoop.yarn.util.UnitsConversionUtil;
@@ -39,10 +41,29 @@ public class Resources {
LogFactory.getLog(Resources.class);
/**
+ * Return a new {@link Resource} instance with all resource values
+ * initialized to {@code value}.
+ * @param value the value to use for all resources
+ * @return a new {@link Resource} instance
+ */
+ @Private
+ @Unstable
+ public static Resource createResourceWithSameValue(long value) {
+ LightWeightResource res = new LightWeightResource(value,
+ Long.valueOf(value).intValue());
+ int numberOfResources = ResourceUtils.getNumberOfKnownResourceTypes();
+ for (int i = 2; i < numberOfResources; i++) {
+ res.setResourceValue(i, value);
+ }
+
+ return res;
+ }
+
+ /**
* Helper class to create a resource with a fixed value for all resource
* types. For example, a NONE resource which returns 0 for any resource type.
*/
- @InterfaceAudience.Private
+ @Private
@Unstable
static class FixedValueResource extends Resource {
http://git-wip-us.apache.org/repos/asf/hadoop/blob/238ffff9/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/resource/TestResources.java
----------------------------------------------------------------------
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/resource/TestResources.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/resource/TestResources.java
index a8404fb..07b24eb 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/resource/TestResources.java
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/test/java/org/apache/hadoop/yarn/util/resource/TestResources.java
@@ -263,4 +263,40 @@ public class TestResources {
multiplyAndAddTo(createResource(3, 1, 2), createResource(2, 2, 3),
1.5));
}
+
+ @Test
+ public void testCreateResourceWithSameLongValue() throws Exception {
+ unsetExtraResourceType();
+ setupExtraResourceType();
+
+ Resource res = Resources.createResourceWithSameValue(11L);
+ assertEquals(11L, res.getMemorySize());
+ assertEquals(11, res.getVirtualCores());
+ assertEquals(11L, res.getResourceInformation(EXTRA_RESOURCE_TYPE).getValue());
+ }
+
+ @Test
+ public void testCreateResourceWithSameIntValue() throws Exception {
+ unsetExtraResourceType();
+ setupExtraResourceType();
+
+ Resource res = Resources.createResourceWithSameValue(11);
+ assertEquals(11, res.getMemorySize());
+ assertEquals(11, res.getVirtualCores());
+ assertEquals(11, res.getResourceInformation(EXTRA_RESOURCE_TYPE).getValue());
+ }
+
+ @Test
+ public void testCreateSimpleResourceWithSameLongValue() {
+ Resource res = Resources.createResourceWithSameValue(11L);
+ assertEquals(11L, res.getMemorySize());
+ assertEquals(11, res.getVirtualCores());
+ }
+
+ @Test
+ public void testCreateSimpleResourceWithSameIntValue() {
+ Resource res = Resources.createResourceWithSameValue(11);
+ assertEquals(11, res.getMemorySize());
+ assertEquals(11, res.getVirtualCores());
+ }
}
http://git-wip-us.apache.org/repos/asf/hadoop/blob/238ffff9/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/ConfigurableResource.java
----------------------------------------------------------------------
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/ConfigurableResource.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/ConfigurableResource.java
index 0c3b0dd..f772c4d 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/ConfigurableResource.java
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/ConfigurableResource.java
@@ -25,6 +25,7 @@ import org.apache.hadoop.yarn.api.records.Resource;
import org.apache.hadoop.yarn.api.records.ResourceInformation;
import org.apache.hadoop.yarn.exceptions.ResourceNotFoundException;
import org.apache.hadoop.yarn.util.resource.ResourceUtils;
+import org.apache.hadoop.yarn.util.resource.Resources;
/**
* A {@code ConfigurableResource} object represents an entity that is used to
@@ -46,8 +47,13 @@ public class ConfigurableResource {
this.resource = null;
}
+ /**
+ * Creates a {@link ConfigurableResource} instance with all resource values
+ * initialized to {@code value}.
+ * @param value the value to use for all resources
+ */
ConfigurableResource(long value) {
- this(Resource.newInstance(value));
+ this(Resources.createResourceWithSameValue(value));
}
public ConfigurableResource(Resource resource) {
---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org