diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-submarine/src/main/java/org/apache/hadoop/yarn/submarine/client/cli/CliUtils.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-submarine/src/main/java/org/apache/hadoop/yarn/submarine/client/cli/CliUtils.java index 588a9e646ea..f3eee7c274e 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-submarine/src/main/java/org/apache/hadoop/yarn/submarine/client/cli/CliUtils.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-submarine/src/main/java/org/apache/hadoop/yarn/submarine/client/cli/CliUtils.java @@ -74,19 +74,10 @@ public class CliUtils { return newCli; } - // TODO, this duplicated to Client of distributed shell, should cleanup private static Map parseResourcesString(String resourcesStr) { Map resources = new HashMap<>(); - - // Ignore the grouping "[]" - if (resourcesStr.startsWith("[")) { - resourcesStr = resourcesStr.substring(1); - } - if (resourcesStr.endsWith("]")) { - resourcesStr = resourcesStr.substring(0, resourcesStr.length() - 1); - } - - for (String resource : resourcesStr.trim().split(",")) { + String[] pairs = resourcesStr.trim().split(","); + for (String resource : pairs) { resource = resource.trim(); if (!resource.matches(RES_PATTERN)) { throw new IllegalArgumentException("\"" + resource + "\" is not a " @@ -97,8 +88,9 @@ public class CliUtils { String key = splits[0], value = splits[1]; String units = ResourceUtils.getUnits(value); - String valueWithoutUnit = value.substring(0, value.length() - units.length()).trim(); - Long resourceValue = Long.valueOf(valueWithoutUnit); + String valueWithoutUnit = value.substring(0, + value.length()- units.length()).trim(); + long resourceValue = Long.parseLong(valueWithoutUnit); // Convert commandline unit to standard YARN unit. if (units.equals("M") || units.equals("m")) { @@ -107,7 +99,7 @@ public class CliUtils { units = "Gi"; } else if (units.isEmpty()) { // do nothing; - } else{ + } else { throw new IllegalArgumentException("Acceptable units are M/G or empty"); } @@ -121,7 +113,8 @@ public class CliUtils { if (key.equals("memory")) { key = ResourceInformation.MEMORY_URI; - resourceValue = UnitsConversionUtil.convert(units, "Mi", resourceValue); + resourceValue = UnitsConversionUtil.convert(units, "Mi", + resourceValue); } // special handle gpu