[ 
https://issues.apache.org/jira/browse/FLINK-31249?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

renxiang zhou updated FLINK-31249:
----------------------------------
    Description: 
When jobmanager receives all ACKs of tasks, it will finalize the pending 
checkpoint to a completed checkpoint. Currently JM finalizes the pending 
checkpoint with holding the checkpoint coordinator lock.

When a DFS failure occurs, the {{jobmanager-future}} thread may be blocked at 
finalizing the pending checkpoint.

!image-2023-02-28-12-17-19-607.png|width=1010,height=244!

And then the next checkpoint is triggered, the {{Checkpoint Timer}} thread 
waits for the lock to be released. 

!image-2023-02-28-11-25-03-637.png|width=1144,height=248!

If the previous checkpoint times out, the {{Checkpoint Timer}} will not execute 
the timeout event since it is blocked at waiting for the lock. As a result, the 
previous checkpoint cannot be cancelled.

  was:
The {{jobmanager-future}} thread may be blocked at writing metadata to DFS 
caused by a DFS failure, and the {{CheckpointCoordinator Lock}} is hold by this 
thread. 

When the next checkpoint is triggered, the {{Checkpoint Timer}} thread waits 
for the lock to be released.  If the previous checkpoint times out, the 
{{Checkpoint Timer}} will not execute the timeout event since it is blocked at 
waiting for the lock. As a result, the previous checkpoint cannot be cancelled.

!image-2023-02-28-11-25-03-637.png|width=1144,height=248!


> Checkpoint timeout mechanism fails when finalizeCheckpoint is stuck
> -------------------------------------------------------------------
>
>                 Key: FLINK-31249
>                 URL: https://issues.apache.org/jira/browse/FLINK-31249
>             Project: Flink
>          Issue Type: Improvement
>          Components: Runtime / Checkpointing
>    Affects Versions: 1.11.6, 1.16.0
>            Reporter: renxiang zhou
>            Priority: Major
>             Fix For: 1.18.0
>
>         Attachments: image-2023-02-28-11-25-03-637.png, 
> image-2023-02-28-12-04-35-178.png, image-2023-02-28-12-17-19-607.png
>
>
> When jobmanager receives all ACKs of tasks, it will finalize the pending 
> checkpoint to a completed checkpoint. Currently JM finalizes the pending 
> checkpoint with holding the checkpoint coordinator lock.
> When a DFS failure occurs, the {{jobmanager-future}} thread may be blocked at 
> finalizing the pending checkpoint.
> !image-2023-02-28-12-17-19-607.png|width=1010,height=244!
> And then the next checkpoint is triggered, the {{Checkpoint Timer}} thread 
> waits for the lock to be released. 
> !image-2023-02-28-11-25-03-637.png|width=1144,height=248!
> If the previous checkpoint times out, the {{Checkpoint Timer}} will not 
> execute the timeout event since it is blocked at waiting for the lock. As a 
> result, the previous checkpoint cannot be cancelled.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to