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/04/19 19:41:08 UTC
[hadoop] branch branch-3.1 updated: YARN-8587. Added retries for
fetching docker exit code. Contributed by Charo Zhang
This is an automated email from the ASF dual-hosted git repository.
eyang pushed a commit to branch branch-3.1
in repository https://gitbox.apache.org/repos/asf/hadoop.git
The following commit(s) were added to refs/heads/branch-3.1 by this push:
new 8b228a4 YARN-8587. Added retries for fetching docker exit code. Contributed by Charo Zhang
8b228a4 is described below
commit 8b228a42e979fefe8ed7e16a0debe161ae7892a4
Author: Eric Yang <ey...@apache.org>
AuthorDate: Wed Oct 24 17:28:23 2018 -0400
YARN-8587. Added retries for fetching docker exit code.
Contributed by Charo Zhang
(cherry picked from commit c16c49b8c3b8e2e42c00e79a50e7ae029ebe98e2)
---
.../container-executor/impl/container-executor.c | 32 ++++++++++++----------
1 file changed, 17 insertions(+), 15 deletions(-)
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 7765308..7e86e88 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
@@ -1765,20 +1765,22 @@ int launch_docker_container_as_user(const char * user, const char *app_id,
docker_binary, container_id);
fprintf(LOGFILE, "Obtaining the exit code...\n");
fprintf(LOGFILE, "Docker inspect command: %s\n", docker_inspect_exitcode_command);
- FILE* inspect_exitcode_docker = popen(docker_inspect_exitcode_command, "r");
- if(inspect_exitcode_docker == NULL) {
- fprintf(ERRORFILE, "Done with inspect_exitcode, inspect_exitcode_docker is null\n");
- fflush(ERRORFILE);
- exit_code = -1;
- goto cleanup;
- }
- res = fscanf (inspect_exitcode_docker, "%d", &exit_code);
- if (pclose (inspect_exitcode_docker) != 0 || res <= 0) {
- fprintf (ERRORFILE,
- "Could not inspect docker to get exitcode: %s.\n", docker_inspect_exitcode_command);
- fflush(ERRORFILE);
- exit_code = -1;
- goto cleanup;
+ int count = 0;
+ int max_retries = get_max_retries(&CFG);
+ while (count < max_retries) {
+ FILE* inspect_exitcode_docker = popen(docker_inspect_exitcode_command, "r");
+ res = fscanf (inspect_exitcode_docker, "%d", &exit_code);
+ if (pclose (inspect_exitcode_docker) != 0 || res <= 0) {
+ fprintf (ERRORFILE, "Could not inspect docker to get Exit code %s.\n", docker_inspect_exitcode_command);
+ fflush(ERRORFILE);
+ exit_code = -1;
+ } else {
+ if (exit_code != 0) {
+ break;
+ }
+ }
+ sleep(3);
+ count++;
}
fprintf(LOGFILE, "Exit code from docker inspect: %d\n", exit_code);
@@ -2708,4 +2710,4 @@ int remove_docker_container(char**argv, int argc) {
exit_code = clean_docker_cgroups(yarn_hierarchy, container_id);
}
return exit_code;
-}
\ No newline at end of file
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org