From 51fda80e3f81f17e4527043ba153f39c48bb1a97 Mon Sep 17 00:00:00 2001 From: Ashutosh Gupta Date: Wed, 27 Oct 2021 11:29:58 +0530 Subject: [PATCH 1/6] YARN-10991. Fix to ignore the grouping "[]" for resourcesStr in parseResourcesString method --- .../hadoop/yarn/applications/distributedshell/Client.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/src/main/java/org/apache/hadoop/yarn/applications/distributedshell/Client.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/src/main/java/org/apache/hadoop/yarn/applications/distributedshell/Client.java index 4617184525aa6..098f3981cfd4e 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/src/main/java/org/apache/hadoop/yarn/applications/distributedshell/Client.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/src/main/java/org/apache/hadoop/yarn/applications/distributedshell/Client.java @@ -1373,7 +1373,7 @@ static Map parseResourcesString(String resourcesStr) { resourcesStr = resourcesStr.substring(1); } if (resourcesStr.endsWith("]")) { - resourcesStr = resourcesStr.substring(0, resourcesStr.length()); + resourcesStr = resourcesStr.substring(0, resourcesStr.length() - 1); } for (String resource : resourcesStr.trim().split(",")) { From 5b3784334cdcfdd57e2f1dede7ec67f8f5325c89 Mon Sep 17 00:00:00 2001 From: Ashutosh Gupta Date: Fri, 19 Nov 2021 16:09:41 +0530 Subject: [PATCH 2/6] Adding test case for parseResourcesString method for Client class --- .../distributedshell/TestClient.java | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/src/test/java/org/apache/hadoop/yarn/applications/distributedshell/TestClient.java diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/src/test/java/org/apache/hadoop/yarn/applications/distributedshell/TestClient.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/src/test/java/org/apache/hadoop/yarn/applications/distributedshell/TestClient.java new file mode 100644 index 0000000000000..0c2c2b5276844 --- /dev/null +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/src/test/java/org/apache/hadoop/yarn/applications/distributedshell/TestClient.java @@ -0,0 +1,27 @@ +package org.apache.hadoop.yarn.applications.distributedshell; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.junit.MockitoJUnitRunner; + +import java.util.HashMap; +import java.util.Map; + +import static org.junit.Assert.*; + +@RunWith(MockitoJUnitRunner.class) +public class TestClient { + @Test + public void testParseResourcesString() { + // Setup + final Map expectedResult = new HashMap<>(); + expectedResult.put("memory-mb", 3072L); + expectedResult.put("vcores", 1L); + + // Run the test + final Map result = Client.parseResourcesString("[memory-mb=3072,vcores=1]"); + + // Verify the results + assertEquals(expectedResult, result); + } +} From 77ee34eac6be31f35aad39c87a030258bbf4d15f Mon Sep 17 00:00:00 2001 From: Ashutosh Gupta Date: Fri, 19 Nov 2021 19:13:18 +0530 Subject: [PATCH 3/6] adding Apache License --- .../distributedshell/TestClient.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/src/test/java/org/apache/hadoop/yarn/applications/distributedshell/TestClient.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/src/test/java/org/apache/hadoop/yarn/applications/distributedshell/TestClient.java index 0c2c2b5276844..205e7419af991 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/src/test/java/org/apache/hadoop/yarn/applications/distributedshell/TestClient.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/src/test/java/org/apache/hadoop/yarn/applications/distributedshell/TestClient.java @@ -1,3 +1,21 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package org.apache.hadoop.yarn.applications.distributedshell; import org.junit.Test; From b7458cffbe5f3555026aaec583574c950418c79a Mon Sep 17 00:00:00 2001 From: Ashutosh Gupta Date: Sat, 20 Nov 2021 00:52:52 +0530 Subject: [PATCH 4/6] formating code as hadoop project code formatter guidance --- .../distributedshell/TestClient.java | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/src/test/java/org/apache/hadoop/yarn/applications/distributedshell/TestClient.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/src/test/java/org/apache/hadoop/yarn/applications/distributedshell/TestClient.java index 205e7419af991..0dc84d37f55f1 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/src/test/java/org/apache/hadoop/yarn/applications/distributedshell/TestClient.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/src/test/java/org/apache/hadoop/yarn/applications/distributedshell/TestClient.java @@ -6,9 +6,9 @@ * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * + *

+ * http://www.apache.org/licenses/LICENSE-2.0 + *

* Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -29,17 +29,17 @@ @RunWith(MockitoJUnitRunner.class) public class TestClient { - @Test - public void testParseResourcesString() { - // Setup - final Map expectedResult = new HashMap<>(); - expectedResult.put("memory-mb", 3072L); - expectedResult.put("vcores", 1L); + @Test + public void testParseResourcesString() { + // Setup + final Map expectedResult = new HashMap<>(); + expectedResult.put("memory-mb", 3072L); + expectedResult.put("vcores", 1L); - // Run the test - final Map result = Client.parseResourcesString("[memory-mb=3072,vcores=1]"); + // Run the test + final Map result = Client.parseResourcesString("[memory-mb=3072,vcores=1]"); - // Verify the results - assertEquals(expectedResult, result); - } + // Verify the results + assertEquals(expectedResult, result); + } } From a1bcffa1a5fc06ebbbeaf80f0352e4ff2e5b3fb3 Mon Sep 17 00:00:00 2001 From: Ashutosh Gupta Date: Mon, 22 Nov 2021 22:07:41 +0530 Subject: [PATCH 5/6] removing glob import and @RunWith --- .../hadoop/yarn/applications/distributedshell/TestClient.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/src/test/java/org/apache/hadoop/yarn/applications/distributedshell/TestClient.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/src/test/java/org/apache/hadoop/yarn/applications/distributedshell/TestClient.java index 0dc84d37f55f1..72cce05218113 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/src/test/java/org/apache/hadoop/yarn/applications/distributedshell/TestClient.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/src/test/java/org/apache/hadoop/yarn/applications/distributedshell/TestClient.java @@ -25,9 +25,8 @@ import java.util.HashMap; import java.util.Map; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; -@RunWith(MockitoJUnitRunner.class) public class TestClient { @Test public void testParseResourcesString() { From 42cceb9deee46b64830f6c7bae369f5e333efb60 Mon Sep 17 00:00:00 2001 From: Ashutosh Gupta Date: Mon, 22 Nov 2021 22:11:14 +0530 Subject: [PATCH 6/6] removing unnecessary imports --- .../hadoop/yarn/applications/distributedshell/TestClient.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/src/test/java/org/apache/hadoop/yarn/applications/distributedshell/TestClient.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/src/test/java/org/apache/hadoop/yarn/applications/distributedshell/TestClient.java index 72cce05218113..074f2e8422bc5 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/src/test/java/org/apache/hadoop/yarn/applications/distributedshell/TestClient.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/src/test/java/org/apache/hadoop/yarn/applications/distributedshell/TestClient.java @@ -19,8 +19,6 @@ package org.apache.hadoop.yarn.applications.distributedshell; import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.junit.MockitoJUnitRunner; import java.util.HashMap; import java.util.Map;