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 sn...@apache.org on 2020/01/28 14:36:15 UTC

[hadoop] branch trunk updated: YARN-10104. FS-CS converter: dry run should work without output defined. Contributed by Peter Bacsko

This is an automated email from the ASF dual-hosted git repository.

snemeth pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/hadoop.git


The following commit(s) were added to refs/heads/trunk by this push:
     new 94f0602  YARN-10104. FS-CS converter: dry run should work without output defined. Contributed by Peter Bacsko
94f0602 is described below

commit 94f060242ec8bf9d548b38c909ca8e2a59f606e3
Author: Szilard Nemeth <sn...@apache.org>
AuthorDate: Tue Jan 28 15:36:04 2020 +0100

    YARN-10104. FS-CS converter: dry run should work without output defined. Contributed by Peter Bacsko
---
 .../fair/converter/FSConfigToCSConfigArgumentHandler.java | 12 +++++++-----
 .../converter/TestFSConfigToCSConfigArgumentHandler.java  | 15 +++++++++++++--
 2 files changed, 20 insertions(+), 7 deletions(-)

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/converter/FSConfigToCSConfigArgumentHandler.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/converter/FSConfigToCSConfigArgumentHandler.java
index 893b237..c751953 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/converter/FSConfigToCSConfigArgumentHandler.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/converter/FSConfigToCSConfigArgumentHandler.java
@@ -183,13 +183,14 @@ public class FSConfigToCSConfigArgumentHandler {
 
   private FSConfigToCSConfigConverter prepareAndGetConverter(
       CommandLine cliParser) {
-    conversionOptions.setDryRun(
-        cliParser.hasOption(CliOption.DRY_RUN.shortSwitch));
+    boolean dryRun =
+        cliParser.hasOption(CliOption.DRY_RUN.shortSwitch);
+    conversionOptions.setDryRun(dryRun);
     conversionOptions.setNoTerminalRuleCheck(
         cliParser.hasOption(CliOption.NO_TERMINAL_RULE_CHECK.shortSwitch));
 
     checkOptionPresent(cliParser, CliOption.YARN_SITE);
-    checkOutputDefined(cliParser);
+    checkOutputDefined(cliParser, dryRun);
 
     converterParams = validateInputFiles(cliParser);
     ruleHandler = new FSConfigToCSConfigRuleHandler(conversionOptions);
@@ -238,14 +239,15 @@ public class FSConfigToCSConfigArgumentHandler {
     }
   }
 
-  private static void checkOutputDefined(CommandLine cliParser) {
+  private static void checkOutputDefined(CommandLine cliParser,
+      boolean dryRun) {
     boolean hasOutputDir =
         cliParser.hasOption(CliOption.OUTPUT_DIR.shortSwitch);
 
     boolean console =
         cliParser.hasOption(CliOption.CONSOLE_MODE.shortSwitch);
 
-    if (!console && !hasOutputDir) {
+    if (!console && !hasOutputDir && !dryRun) {
       throw new PreconditionException(
          "Output directory or console mode was not defined. Please" +
           " use -h or --help to see command line switches");
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/converter/TestFSConfigToCSConfigArgumentHandler.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/converter/TestFSConfigToCSConfigArgumentHandler.java
index 84df901..edf4c86 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/converter/TestFSConfigToCSConfigArgumentHandler.java
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/converter/TestFSConfigToCSConfigArgumentHandler.java
@@ -108,12 +108,23 @@ public class TestFSConfigToCSConfigArgumentHandler {
         "-o", FSConfigConverterTestCommons.OUTPUT_DIR);
   }
 
+  private static List<String> getDefaultArgumentsWithNoOutput() {
+    return Lists.newArrayList("-y", FSConfigConverterTestCommons.YARN_SITE_XML);
+  }
+
   private String[] getArgumentsAsArrayWithDefaults(String... args) {
     List<String> result = getDefaultArguments();
     result.addAll(Arrays.asList(args));
     return result.toArray(new String[0]);
   }
 
+  private String[] getArgumentsAsArrayWithDefaultsNoOutput(
+      String... args) {
+    List<String> result = getDefaultArgumentsWithNoOutput();
+    result.addAll(Arrays.asList(args));
+    return result.toArray(new String[0]);
+  }
+
   private String[] getArgumentsAsArray(String... args) {
     List<String> result = Lists.newArrayList();
     result.addAll(Arrays.asList(args));
@@ -426,9 +437,9 @@ public class TestFSConfigToCSConfigArgumentHandler {
       String expectedErrorMessage) throws Exception {
     setupFSConfigConversionFiles(true);
 
-    String[] args = getArgumentsAsArrayWithDefaults("-f",
+    String[] args = getArgumentsAsArrayWithDefaultsNoOutput("-f",
         FSConfigConverterTestCommons.FS_ALLOC_FILE,
-        "-r", FSConfigConverterTestCommons.CONVERSION_RULES_FILE, "-p",
+        "-r", FSConfigConverterTestCommons.CONVERSION_RULES_FILE,
         "-d");
     FSConfigToCSConfigArgumentHandler argumentHandler =
         new FSConfigToCSConfigArgumentHandler(conversionOptions);


---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org