hadoop-yarn-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "rainy Yu (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (YARN-157) The option shell_command and shell_script have conflict
Date Wed, 27 Mar 2013 04:49:16 GMT

    [ https://issues.apache.org/jira/browse/YARN-157?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13614922#comment-13614922

rainy Yu commented on YARN-157:

I can't commit Attachments. My patch is:
Index: src/main/java/org/apache/hadoop/yarn/applications/distributedshell/Client.java
--- src/main/java/org/apache/hadoop/yarn/applications/distributedshell/Client.java      (revision
+++ src/main/java/org/apache/hadoop/yarn/applications/distributedshell/Client.java      (working
@@ -140,8 +140,8 @@
   // Main class to invoke application master
   private String appMasterMainClass = "";

-  // Shell command to be executed 
-  private String shellCommand = ""; 
+  // Shell command to be executed. the Linux shell command '/bin/sh' is default
+  private String shellCommand = "/bin/sh"; 
   // Location of shell script
   private String shellScriptPath = "";
   // Args to be passed to the shell command
@@ -276,10 +276,11 @@
     appMasterMainClass = cliParser.getOptionValue("class",

-    if (!cliParser.hasOption("shell_command")) {
-      throw new IllegalArgumentException("No shell command specified to be executed by application
+    if (cliParser.hasOption("shell_command")) {
+      //throw new IllegalArgumentException("No shell command specified to be executed by
application master");
+       shellCommand = cliParser.getOptionValue("shell_command");
-    shellCommand = cliParser.getOptionValue("shell_command");
+    //shellCommand = cliParser.getOptionValue("shell_command");

     if (cliParser.hasOption("shell_script")) {
       shellScriptPath = cliParser.getOptionValue("shell_script");

> The option shell_command and shell_script have conflict
> -------------------------------------------------------
>                 Key: YARN-157
>                 URL: https://issues.apache.org/jira/browse/YARN-157
>             Project: Hadoop YARN
>          Issue Type: Bug
>          Components: applications/distributed-shell
>    Affects Versions: 2.0.1-alpha
>            Reporter: Li Ming
>              Labels: patch
> The DistributedShell has an option shell_script to let user specify a shell script which
will be executed in containers. But the issue is that the shell_command option is a must,
so if both options are set, then every container executor will end with exitCode=1. This is
because DistributedShell executes the shell_command and shell_script together. For example,
if shell_command is 'date' then the final command to be executed in container is "date `ExecShellScript.sh`",
so the date command will treat the result of ExecShellScript.sh as its parameter, then there
will be an error. 
> To solve this, the DistributedShell should not use the value of shell_command option
when the shell_script option is set, and the shell_command option also should not be mandatory.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

View raw message