[ 
https://issues.apache.org/jira/browse/OOZIE-578?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13163029#comment-13163029
 ] 

[email protected] commented on OOZIE-578:
-----------------------------------------------------



bq.  On 2011-12-05 18:40:43, Alejandro Abdelnur wrote:
bq.  > 
http://svn.apache.org/repos/asf/incubator/oozie/trunk/client/src/main/resources/shell-action-0.1.xsd,
 line 34
bq.  > <https://reviews.apache.org/r/3000/diff/2/?file=61824#file61824line34>
bq.  >
bq.  >     env vars setting is missing, this is quite important when using 
shells.
bq.  >     
bq.  >     we should be able to specify multiple ENV vars, with one of the two 
syntaxes:
bq.  >     
bq.  >     <env-var>VAR=VALUE</env-var>
bq.  >     
bq.  >     or 
bq.  >     
bq.  >     <environment>
bq.  >       <variable>
bq.  >          <name>VALUE</name>
bq.  >          <value>VALUE</value>
bq.  >       </variable>
bq.  >     </environment>
bq.  >
bq.  
bq.  Mohammad Islam wrote:
bq.      I considered that also an option. So user can specify it here and 
oozie will add it to oozie.launcher.mapred.child.env.
bq.      I will add that.
bq.      In addition, currently, User could still add the env directly through 
oozie.launcher.mapred.child.env.

I don't think these ENV settings should affect the launcher ENV, these ENV 
settings are exclusively for the SHELL it will be executed by the launcher.

If the user wants to alter the launcher ENV for some reason, they always can do 
it with the oozie.launcher.mapred.child.env, but by definition, anything that 
is oozie.launcher.* is not propagated to the action itself.


bq.  On 2011-12-05 18:40:43, Alejandro Abdelnur wrote:
bq.  > 
http://svn.apache.org/repos/asf/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/action/hadoop/ShellActionExecutor.java,
 line 106
bq.  > <https://reviews.apache.org/r/3000/diff/2/?file=61826#file61826line106>
bq.  >
bq.  >     as the shellmain is forking a new process, these changes are not 
required for the launcher mapper process, but for the process the shellmain 
launches.
bq.  
bq.  Mohammad Islam wrote:
bq.      I think we need it here. I spend a lot of time on this.
bq.      For example, my script is in CWD of LM. If I don't set it up in 
*.child.env. It will never get the script if I do it RunTime.exec(args, envp).
bq.      Other environment passed in RunTime.exec(args, envp), doesn't have any 
impact on finding the executables own path. However, it impacts on within the 
spawned script itself.
bq.      That's why I do it in *.child.env that will be available to LM to find 
the shell executable itself as well as to the spawned script. 
bq.

If using the ProcessBuilder class, you can easily set the workding directory 
with the directory(File) method.


bq.  On 2011-12-05 18:40:43, Alejandro Abdelnur wrote:
bq.  > 
http://svn.apache.org/repos/asf/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/action/hadoop/ShellMain.java,
 line 29
bq.  > <https://reviews.apache.org/r/3000/diff/2/?file=61827#file61827line29>
bq.  >
bq.  >     trailing spaces (through out the patch)
bq.  
bq.  Mohammad Islam wrote:
bq.      I never add it. The oozie-foramtting.xml did it for me!! This is there 
for long time.
bq.      Do you have any new oozie-formatting xml?
bq.

Don't use Eclipse, use IntelliJ


bq.  On 2011-12-05 18:40:43, Alejandro Abdelnur wrote:
bq.  > 
http://svn.apache.org/repos/asf/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/action/hadoop/ShellMain.java,
 line 74
bq.  > <https://reviews.apache.org/r/3000/diff/2/?file=61827#file61827line74>
bq.  >
bq.  >     We should use ProcessBuilder instead Runtime.
bq.  >     
bq.  >     ProcessBuilder allows to easily set the environment.
bq.  >     
bq.  >
bq.  
bq.  Mohammad Islam wrote:
bq.      I will check the ProcessBuilder. I thought both are same.

ProcessBuilder has some functionality that makes easier to deal with 
subprocesses, see prev comment on setting directory.


bq.  On 2011-12-05 18:40:43, Alejandro Abdelnur wrote:
bq.  > 
http://svn.apache.org/repos/asf/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/action/hadoop/ShellMain.java,
 line 132
bq.  > <https://reviews.apache.org/r/3000/diff/2/?file=61827#file61827line132>
bq.  >
bq.  >     consuming the stdout/stderr of the forked process must be done in 
different threads, else you may be be blocking processing/overflowing buffers.
bq.  >     
bq.  >
bq.  
bq.  Mohammad Islam wrote:
bq.      Are you asking to spawn a new Thread to do it?

actually, 2 new threads, one to consume STDOUT and other STDERR, they should be 
daemon threads and exit the loop on -1 read as well.

both outputs should be redirected to to the launcher process STDOUT/STDERR (as 
then they end up in the launcher logs).

the STDOUT should also be captured (a la tee) so it can be used for 
<capture-output> functionality.


bq.  On 2011-12-05 18:40:43, Alejandro Abdelnur wrote:
bq.  > 
http://svn.apache.org/repos/asf/incubator/oozie/trunk/core/src/main/resources/oozie-default.xml,
 line 1052
bq.  > <https://reviews.apache.org/r/3000/diff/2/?file=61828#file61828line1052>
bq.  >
bq.  >     this should go in the wf.schemas property, no there.
bq.  
bq.  Mohammad Islam wrote:
bq.      ok.

by bad, this is not there. We should open a JIRA for that.


- Alejandro


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/3000/#review3624
-----------------------------------------------------------


On 2011-12-04 08:05:24, Mohammad Islam wrote:
bq.  
bq.  -----------------------------------------------------------
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/3000/
bq.  -----------------------------------------------------------
bq.  
bq.  (Updated 2011-12-04 08:05:24)
bq.  
bq.  
bq.  Review request for oozie.
bq.  
bq.  
bq.  Summary
bq.  -------
bq.  
bq.  More context at JIRA OOZIE-578.
bq.  
bq.  
bq.  This addresses bug OOZIE-578.
bq.      https://issues.apache.org/jira/browse/OOZIE-578
bq.  
bq.  
bq.  Diffs
bq.  -----
bq.  
bq.    
http://svn.apache.org/repos/asf/incubator/oozie/trunk/client/src/main/java/org/apache/oozie/cli/OozieCLI.java
 1209346 
bq.    
http://svn.apache.org/repos/asf/incubator/oozie/trunk/client/src/main/resources/shell-action-0.1.xsd
 PRE-CREATION 
bq.    
http://svn.apache.org/repos/asf/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/action/hadoop/JavaActionExecutor.java
 1209346 
bq.    
http://svn.apache.org/repos/asf/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/action/hadoop/ShellActionExecutor.java
 PRE-CREATION 
bq.    
http://svn.apache.org/repos/asf/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/action/hadoop/ShellMain.java
 PRE-CREATION 
bq.    
http://svn.apache.org/repos/asf/incubator/oozie/trunk/core/src/main/resources/oozie-default.xml
 1209346 
bq.    
http://svn.apache.org/repos/asf/incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/ShellTestCase.java
 PRE-CREATION 
bq.    
http://svn.apache.org/repos/asf/incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestShellActionExecutor.java
 PRE-CREATION 
bq.    
http://svn.apache.org/repos/asf/incubator/oozie/trunk/core/src/test/java/org/apache/oozie/action/hadoop/TestShellMain.java
 PRE-CREATION 
bq.    
http://svn.apache.org/repos/asf/incubator/oozie/trunk/docs/src/site/twiki/DG_ShellActionExtension.twiki
 PRE-CREATION 
bq.    
http://svn.apache.org/repos/asf/incubator/oozie/trunk/docs/src/site/twiki/index.twiki
 1209346 
bq.  
bq.  Diff: https://reviews.apache.org/r/3000/diff
bq.  
bq.  
bq.  Testing
bq.  -------
bq.  
bq.  
bq.  Thanks,
bq.  
bq.  Mohammad
bq.  
bq.


                
> Support shell action in Oozie WF
> --------------------------------
>
>                 Key: OOZIE-578
>                 URL: https://issues.apache.org/jira/browse/OOZIE-578
>             Project: Oozie
>          Issue Type: New Feature
>            Reporter: Mohammad Kamrul Islam
>            Assignee: Mohammad Kamrul Islam
>
> Running a script (shell/perl/python/?) from a workflow is a very common 
> use-case. Currently, Oozie user needs to write  a custom java code to execute 
> the script which is not convenient.
> This JIRA is to discuss the feasibility and scope of the feature. The 
> proposed design of this feature will also be included.
>  

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to