You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mesos.apache.org by "Joseph Wu (JIRA)" <ji...@apache.org> on 2016/02/06 00:26:39 UTC

[jira] [Comment Edited] (MESOS-4609) Subprocess should be more intelligent about setting/inheriting libprocess environment variables

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

Joseph Wu edited comment on MESOS-4609 at 2/5/16 11:26 PM:
-----------------------------------------------------------

|| Reviews || Summary || 
| https://reviews.apache.org/r/43260/
https://reviews.apache.org/r/43261/ | Some refactoring of {{process::initialize}} |
| https://reviews.apache.org/r/43271/ | Modifications to {{subprocess}} |
| https://reviews.apache.org/r/43272/ | Refactor of containerizer, fetcher, container logger |


was (Author: kaysoky):
|| Reviews || Summary || 
| https://reviews.apache.org/r/43260/
https://reviews.apache.org/r/43261/ | Some refactoring of {{process::initialize}} |
| TODO | |

> Subprocess should be more intelligent about setting/inheriting libprocess environment variables 
> ------------------------------------------------------------------------------------------------
>
>                 Key: MESOS-4609
>                 URL: https://issues.apache.org/jira/browse/MESOS-4609
>             Project: Mesos
>          Issue Type: Bug
>    Affects Versions: 0.27.0
>            Reporter: Joseph Wu
>            Assignee: Joseph Wu
>              Labels: mesosphere
>
> Mostly copied from [this comment|https://issues.apache.org/jira/browse/MESOS-4598?focusedCommentId=15133497&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15133497]
> A subprocess inheriting the environment variables {{LIBPROCESS_*}} may run into some accidental fatalities:
> | || Subprocess uses libprocess || Subprocess is something else ||
> || Subprocess sets/inherits the same {{PORT}} by accident | Bind failure -> exit | Nothing happens (?) |
> || Subprocess sets a different {{PORT}} on purpose | Bind success (?) | Nothing happens (?) |
> (?) = means this is usually the case, but not 100%.
> A complete fix would look something like:
> * If the {{subprocess}} call gets {{environment = None()}}, we should automatically remove {{LIBPROCESS_PORT}} from the inherited environment.  
> * The parts of [{{executorEnvironment}}|https://github.com/apache/mesos/blame/master/src/slave/containerizer/containerizer.cpp#L265] dealing with libprocess & libmesos should be refactored into libprocess as a helper.  We would use this helper for the Containerizer, Fetcher, and ContainerLogger module.
> * If the {{subprocess}} call is given {{LIBPROCESS_PORT == os::getenv("LIBPROCESS_PORT")}}, we can LOG(WARN) and unset the env var locally.



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