You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Till Rohrmann (Jira)" <ji...@apache.org> on 2021/01/19 09:59:00 UTC
[jira] [Commented] (FLINK-21008) ClusterEntrypoint#shutDownAsync
may not be fully executed
[ https://issues.apache.org/jira/browse/FLINK-21008?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17267793#comment-17267793 ]
Till Rohrmann commented on FLINK-21008:
---------------------------------------
Is the problem that deregistering the application from K8s will trigger K8s to send a SIGTERM to the JobManager process? I guess then this behaves a bit differently from Yarn and needs to be changed. Is there a way to let the process properly terminate but still deleting the K8s resource (e.g. deployment)? Maybe we need to register a shutdown hook which waits on the {{ClusterEntrypoint}} to have completed its shutdown.
> ClusterEntrypoint#shutDownAsync may not be fully executed
> ---------------------------------------------------------
>
> Key: FLINK-21008
> URL: https://issues.apache.org/jira/browse/FLINK-21008
> Project: Flink
> Issue Type: Bug
> Components: Runtime / Coordination
> Affects Versions: 1.11.3, 1.12.1
> Reporter: Yang Wang
> Priority: Major
> Fix For: 1.13.0
>
>
> Recently, in our internal use case for native K8s integration with K8s HA enabled, we found that the leader related ConfigMaps could be residual in some corner situations.
> After some investigations, I think it is possibly caused by the inappropriate shutdown process.
> In {{ClusterEntrypoint#shutDownAsync}}, we first call the {{closeClusterComponent}}, which also includes deregistering the Flink application from cluster management(e.g. Yarn, K8s). Then we call the {{stopClusterServices}} and {{cleanupDirectories}}. Imagine that the cluster management do the deregister very fast, the JobManager process receives SIGNAL 15 before or is being executing the {{stopClusterServices}} and {{cleanupDirectories}}. The jvm process will directly exit then. So the two methods may not be executed.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)