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

Yun Tang commented on FLINK-20886:
----------------------------------

Currently, Flink would abort checkpoints via network with message once expired, 
and it would try to [stop the async phase of 
checkpoints|https://github.com/apache/flink/blob/c6786ab9cf7e40be41a5a9c12461d5e60a789195/flink-streaming-java/src/main/java/org/apache/flink/streaming/runtime/tasks/SubtaskCheckpointCoordinatorImpl.java#L443].
 I just wonder whether Flink could have time to print the thread dump once 
timeout.

> Add the option to get a threaddump on checkpoint timeouts
> ---------------------------------------------------------
>
>                 Key: FLINK-20886
>                 URL: https://issues.apache.org/jira/browse/FLINK-20886
>             Project: Flink
>          Issue Type: Improvement
>          Components: Runtime / Checkpointing
>            Reporter: Nico Kruber
>            Priority: Major
>
> For debugging checkpoint timeouts, I was thinking about the following 
> addition to Flink:
> When a checkpoint times out and the async thread is still running, create a 
> thread dump [1] and either add this to the checkpoint stats, log it, or write 
> it out.
> This may help identifying where the checkpoint is stuck (maybe a lock, could 
> also be in a third party lib like the FS connectors,...). It would give us 
> some insights into what the thread is currently doing.
> Limiting the scope of the threads would be nice but may not be possible in 
> the general case since additional threads (spawned by the FS connector lib, 
> or otherwise connected) may interact with the async thread(s) by e.g. going 
> through the same locks. Maybe we can reduce the thread dumps to all async 
> threads of the failed checkpoint + all thready that interact with it, e.g. 
> via locks?
> I'm also not sure whether the ability to have thread dumps or not should be 
> user-configurable (Could it contain sensitive information from other jobs if 
> you run a session cluster? Is that even relevant since we don't give 
> isolation guarantees anyway?). If it is configurable, it should be on by 
> default.
> [1] https://crunchify.com/how-to-generate-java-thread-dump-programmatically/



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to