Repository: flink Updated Branches: refs/heads/release-1.2 58d09d565 -> 4a1aa4ce8
[FLINK-6300] Use 'exec' in start-foreground calls To avoid signal-handling issues in Docker, applications need to run as a single executable or use a process manager that forwards signals correctly, in either case running as PID 1. Since Flink uses a number of chained scripts before the ultimate call to `java`, we need to use `exec` so that the script executable is replaced, ultimately resulting in a single `java` process as PID 1. There's no need to run a process manager since Flink only actually requires a single process. This closes #3734 Project: http://git-wip-us.apache.org/repos/asf/flink/repo Commit: http://git-wip-us.apache.org/repos/asf/flink/commit/4a1aa4ce Tree: http://git-wip-us.apache.org/repos/asf/flink/tree/4a1aa4ce Diff: http://git-wip-us.apache.org/repos/asf/flink/diff/4a1aa4ce Branch: refs/heads/release-1.2 Commit: 4a1aa4ce80fd886266ee7ba76caf27feba3c0f43 Parents: 58d09d5 Author: Patrick Lucas <[email protected]> Authored: Tue Apr 18 14:48:49 2017 +0200 Committer: Greg Hogan <[email protected]> Committed: Tue Apr 18 10:47:20 2017 -0400 ---------------------------------------------------------------------- flink-dist/src/main/flink-bin/bin/flink-console.sh | 2 +- flink-dist/src/main/flink-bin/bin/jobmanager.sh | 2 +- flink-dist/src/main/flink-bin/bin/taskmanager.sh | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flink/blob/4a1aa4ce/flink-dist/src/main/flink-bin/bin/flink-console.sh ---------------------------------------------------------------------- diff --git a/flink-dist/src/main/flink-bin/bin/flink-console.sh b/flink-dist/src/main/flink-bin/bin/flink-console.sh index 71c5c35..e60b101 100644 --- a/flink-dist/src/main/flink-bin/bin/flink-console.sh +++ b/flink-dist/src/main/flink-bin/bin/flink-console.sh @@ -62,4 +62,4 @@ if [[ ${JAVA_VERSION} =~ ${IS_NUMBER} ]]; then fi echo "Starting $SERVICE as a console application on host $HOSTNAME." -$JAVA_RUN $JVM_ARGS ${FLINK_ENV_JAVA_OPTS} "${log_setting[@]}" -classpath "`manglePathList "$FLINK_TM_CLASSPATH:$INTERNAL_HADOOP_CLASSPATHS"`" ${CLASS_TO_RUN} "${ARGS[@]}" +exec $JAVA_RUN $JVM_ARGS ${FLINK_ENV_JAVA_OPTS} "${log_setting[@]}" -classpath "`manglePathList "$FLINK_TM_CLASSPATH:$INTERNAL_HADOOP_CLASSPATHS"`" ${CLASS_TO_RUN} "${ARGS[@]}" http://git-wip-us.apache.org/repos/asf/flink/blob/4a1aa4ce/flink-dist/src/main/flink-bin/bin/jobmanager.sh ---------------------------------------------------------------------- diff --git a/flink-dist/src/main/flink-bin/bin/jobmanager.sh b/flink-dist/src/main/flink-bin/bin/jobmanager.sh index 98b6195..831fca4 100755 --- a/flink-dist/src/main/flink-bin/bin/jobmanager.sh +++ b/flink-dist/src/main/flink-bin/bin/jobmanager.sh @@ -71,7 +71,7 @@ if [[ $STARTSTOP == "start" ]] || [[ $STARTSTOP == "start-foreground" ]]; then fi if [[ $STARTSTOP == "start-foreground" ]]; then - "${FLINK_BIN_DIR}"/flink-console.sh jobmanager "${args[@]}" + exec "${FLINK_BIN_DIR}"/flink-console.sh jobmanager "${args[@]}" else "${FLINK_BIN_DIR}"/flink-daemon.sh $STARTSTOP jobmanager "${args[@]}" fi http://git-wip-us.apache.org/repos/asf/flink/blob/4a1aa4ce/flink-dist/src/main/flink-bin/bin/taskmanager.sh ---------------------------------------------------------------------- diff --git a/flink-dist/src/main/flink-bin/bin/taskmanager.sh b/flink-dist/src/main/flink-bin/bin/taskmanager.sh index 1319d24..ef8c8f6 100755 --- a/flink-dist/src/main/flink-bin/bin/taskmanager.sh +++ b/flink-dist/src/main/flink-bin/bin/taskmanager.sh @@ -97,7 +97,7 @@ if [[ $STARTSTOP == "start" ]] || [[ $STARTSTOP == "start-foreground" ]]; then fi if [[ $STARTSTOP == "start-foreground" ]]; then - "${FLINK_BIN_DIR}"/flink-console.sh taskmanager "${args[@]}" + exec "${FLINK_BIN_DIR}"/flink-console.sh taskmanager "${args[@]}" else "${FLINK_BIN_DIR}"/flink-daemon.sh $STARTSTOP taskmanager "${args[@]}" fi
