[ https://issues.apache.org/jira/browse/MESOS-3475?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14900014#comment-14900014 ]
haosdent commented on MESOS-3475: --------------------------------- Hi, [~jvanremoortere] Do you refer this code snippet {code} // TODO(benh): Can this be removed and done exlusively in the // 'executorEnvironment()' function? There are other places in the // code where we do this as well and it's likely we can do this once // in 'executorEnvironment()'. foreach (const Environment::Variable& variable, executorInfo.command().environment().variables()) { os::setenv(variable.name(), variable.value()); } os::setenv("MESOS_LOCAL", "1"); driver->start(); os::unsetenv("MESOS_LOCAL"); // Unset the environment variables we set by resetting them to their // original values and also removing any that were not part of the // original environment. foreachpair (const string& name, const string& value, original) { os::setenv(name, value); } foreachkey (const string& name, environment) { if (!original.contains(name)) { os::unsetenv(name); } } {code} > TestContainerizer should not modify global environment variables > ---------------------------------------------------------------- > > Key: MESOS-3475 > URL: https://issues.apache.org/jira/browse/MESOS-3475 > Project: Mesos > Issue Type: Bug > Reporter: Joris Van Remoortere > > Currently the {{TestContainerizer}} modifies the environment variables. Since > these are global variables, this can cause other threads reading these > variables to get inconsistent results, or even segfault if they happen to > read while the environment is being changed. > Synchronizing within the TestContainerizer is not sufficient. We should pass > the environment variables into a fork, or set them on the command line of an > execute. -- This message was sent by Atlassian JIRA (v6.3.4#6332)