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

ASF GitHub Bot commented on STORM-160:
--------------------------------------

Github user d2r commented on a diff in the pull request:

    https://github.com/apache/storm/pull/575#discussion_r33608225
  
    --- Diff: storm-core/src/jvm/backtype/storm/utils/ShellProcess.java ---
    @@ -48,8 +47,26 @@ public ShellProcess(String[] command) {
             this.command = command;
         }
     
    +    public void setEnv(Map<String, String> env) {
    +        this.env = env;
    +    }
    +
    +    private void modifyEnvironment(Map<String, String> buildEnv) {
    +        for (Map.Entry<String, String> entry : env.entrySet()) {
    +            if (entry.getKey().equals("PATH")) {
    +                buildEnv.put("PATH", buildEnv.get("PATH") + ":" + 
env.get("PATH"));
    --- End diff --
    
    Let's use the file-system generic path separator here. File#pathSeparator


> Allow ShellBolt to set env vars (particularly PATH)
> ---------------------------------------------------
>
>                 Key: STORM-160
>                 URL: https://issues.apache.org/jira/browse/STORM-160
>             Project: Apache Storm
>          Issue Type: New Feature
>            Reporter: James Xu
>            Priority: Minor
>              Labels: newbie
>
> https://github.com/nathanmarz/storm/issues/32
> While trying to implement a multilang based bolt, I discovered that binaries 
> outside of /usr/bin, /usr/sbin, and /sbin, are not found despite being 
> installed in say, /usr/local/bin.
> Is there a way to specify a PATH variable so when storm creates the sub 
> shell, these binaries can be located by name? If not, can we get one added?
> ----------
> nathanmarz: This is a good idea. For the meantime, does using the full path 
> of the binary (e.g., /usr/local/bin/python) work around this issue?
> ----------
> dinedal: That works for processes that don't require any other environment 
> variables.
> Also, in cases where developers have multiple versions of a program (say, 
> RVM) and the production servers have another one installed on the system, it 
> means changing code for deploying the topology.
> ----------
> nicoo: +1
> To work around this issue you can start your multilang bolt from a bash 
> script that set all needed env vars.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to