You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by ey...@apache.org on 2019/03/25 19:55:19 UTC
[hadoop] branch branch-3.2 updated: YARN-9391. Fixed node manager
environment leaks into Docker containers. Contributed by Jim Brennan
This is an automated email from the ASF dual-hosted git repository.
eyang pushed a commit to branch branch-3.2
in repository https://gitbox.apache.org/repos/asf/hadoop.git
The following commit(s) were added to refs/heads/branch-3.2 by this push:
new 10642a6 YARN-9391. Fixed node manager environment leaks into Docker containers. Contributed by Jim Brennan
10642a6 is described below
commit 10642a6205f8f2189eef56836a3f9208da4be8cb
Author: Eric Yang <ey...@apache.org>
AuthorDate: Mon Mar 25 15:53:24 2019 -0400
YARN-9391. Fixed node manager environment leaks into Docker containers.
Contributed by Jim Brennan
(cherry picked from commit 3c45762a0bfb403e069a03e30d35dd11432ee8b0)
---
.../hadoop/yarn/server/nodemanager/ContainerExecutor.java | 10 ----------
.../containermanager/launcher/TestContainerLaunch.java | 5 +++++
2 files changed, 5 insertions(+), 10 deletions(-)
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/ContainerExecutor.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/ContainerExecutor.java
index 98cc2a4..3fa7321 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/ContainerExecutor.java
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/ContainerExecutor.java
@@ -406,16 +406,6 @@ public abstract class ContainerExecutor implements Configurable {
sb.env(env.getKey(), env.getValue());
}
}
- // Add the whitelist vars to the environment. Do this after writing
- // environment variables so they are not written twice.
- for(String var : whitelistVars) {
- if (!environment.containsKey(var)) {
- String val = getNMEnvVar(var);
- if (val != null) {
- environment.put(var, val);
- }
- }
- }
}
if (resources != null) {
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/launcher/TestContainerLaunch.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/launcher/TestContainerLaunch.java
index 1f7df56..b240f88 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/launcher/TestContainerLaunch.java
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/launcher/TestContainerLaunch.java
@@ -468,10 +468,15 @@ public class TestContainerLaunch extends BaseContainerManagerTest {
for (String envVar : env.keySet()) {
Assert.assertTrue(shellContent.contains(envVar + "="));
}
+ // The whitelist vars should not have been added to env
+ // They should only be in the launch script
for (String wlVar : whitelistVars) {
+ Assert.assertFalse(env.containsKey(wlVar));
Assert.assertTrue(shellContent.contains(wlVar + "="));
}
+ // Non-whitelist nm vars should be in neither env nor in launch script
for (String nwlVar : nonWhiteListEnv) {
+ Assert.assertFalse(env.containsKey(nwlVar));
Assert.assertFalse(shellContent.contains(nwlVar + "="));
}
// Explicitly Set NM vars should be before user vars
---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org