[ 
https://issues.apache.org/jira/browse/FLINK-21008?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17270224#comment-17270224
 ] 

Yang Wang commented on FLINK-21008:
-----------------------------------

After more consideration, I think it might be wrong to do the 
{{ClusterEntrypoint.closeAsync()}} when retrieved the SIGTERM. Imagine that the 
JobManager entrypoint is running normally, we send a SIGTERM and then the HA 
related data will be cleaned up. It is not right.

Only when we are calling the {{shutDownAsync}} with {{cleanupHaData = true}}, 
but SIGTERM received before {{haServices.closeAndCleanupAllData()}} is 
executed. In such situation, we will have residual HA related ConfigMaps and 
ZooKeeper Nodes.

So maybe using a shutdown hook to do the 
{{haServices.closeAndCleanupAllData()}} could solve the problem. And whether 
{{ClusterEntrypoint#shutDownAsync}} is fully executed or not does not matter.

> 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
>            Assignee: Yang Wang
>            Priority: Critical
>             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)

Reply via email to