YARN-4255. container-executor does not clean up docker operation command files. 
Contributed by Sidharta Seethana.


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/da1ee078
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/da1ee078
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/da1ee078

Branch: refs/heads/HDFS-7966
Commit: da1ee078f9d3c2c25c51d0b392b0925821c42ad3
Parents: fb9c151
Author: Varun Vasudev <vvasu...@apache.org>
Authored: Wed Oct 14 15:25:21 2015 +0530
Committer: Varun Vasudev <vvasu...@apache.org>
Committed: Wed Oct 14 15:25:21 2015 +0530

----------------------------------------------------------------------
 hadoop-yarn-project/CHANGES.txt                                | 3 +++
 .../main/native/container-executor/impl/container-executor.c   | 6 ++++++
 2 files changed, 9 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hadoop/blob/da1ee078/hadoop-yarn-project/CHANGES.txt
----------------------------------------------------------------------
diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt
index 2aac433..55eac24 100644
--- a/hadoop-yarn-project/CHANGES.txt
+++ b/hadoop-yarn-project/CHANGES.txt
@@ -937,6 +937,9 @@ Release 2.8.0 - UNRELEASED
     YARN-4253. Standardize on using PrivilegedOperationExecutor for all
     invocations of container-executor in LinuxContainerExecutor. (Sidharta 
Seethana via vvasudev)
 
+    YARN-4255. container-executor does not clean up docker operation command 
files.
+    (Sidharta Seethana via vvasudev)
+
 Release 2.7.2 - UNRELEASED
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/da1ee078/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/container-executor/impl/container-executor.c
----------------------------------------------------------------------
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/container-executor/impl/container-executor.c
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/container-executor/impl/container-executor.c
index f40177e..c696273 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/container-executor/impl/container-executor.c
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/native/container-executor/impl/container-executor.c
@@ -1064,6 +1064,9 @@ int run_docker(const char *command_file) {
   snprintf(docker_command_with_binary, EXECUTOR_PATH_MAX, "%s %s", 
docker_binary, docker_command);
   char **args = extract_values_delim(docker_command_with_binary, " ");
 
+  //clean up command file before we exec
+  unlink(command_file);
+
   int exit_code = -1;
   if (execvp(docker_binary, args) != 0) {
     fprintf(ERRORFILE, "Couldn't execute the container launch with args %s - 
%s",
@@ -1360,6 +1363,9 @@ int launch_docker_container_as_user(const char * user, 
const char *app_id,
   }
 
 cleanup:
+  //clean up docker command file
+  unlink(command_file);
+
   if (exit_code_file != NULL && write_exit_code_file(exit_code_file, 
exit_code) < 0) {
     fprintf (ERRORFILE,
       "Could not write exit code to file %s.\n", exit_code_file);

Reply via email to