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

Biao Liu commented on FLINK-14344:
----------------------------------

[~pnowojski], thanks a lot for feedback.

{quote}After the refactor, it would block whole JobManager, right?{quote}
Yes, you are right. It might cause a performance issue if the hook executes a 
time-consuming operation.

I have taken a look at the Pravega connector codes. The current implementation 
of  {{MasterTriggerRestoreHook.triggerCheckpoint}} is executed asynchronously 
with an internal {{ScheduledExecutorService}}, not the IO executor provided. 
It's acceptable for us. I have left a message to the guys of this project [1]. 
I hope they could give me a feedback.

Regarding to the "two possible semantics". I'm afraid we have to choose option 
2 due to compatibility. There is a comment of 
{{MasterTriggerRestoreHook.triggerCheckpoint}}:
{quote}This method is called by the checkpoint coordinator prior when 
triggering a checkpoint, prior to sending the "trigger checkpoint" messages to 
the source tasks{quote}

[1] https://github.com/pravega/flink-connectors/issues/287

> Snapshot master hook state asynchronously
> -----------------------------------------
>
>                 Key: FLINK-14344
>                 URL: https://issues.apache.org/jira/browse/FLINK-14344
>             Project: Flink
>          Issue Type: Sub-task
>          Components: Runtime / Checkpointing
>            Reporter: Biao Liu
>            Assignee: Biao Liu
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 1.10.0
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Currently we snapshot the master hook state synchronously. As a part of 
> reworking threading model of {{CheckpointCoordinator}}, we have to make this 
> non-blocking to satisfy the requirement of running in main thread.
> The behavior of snapshotting master hook state is similar to task state 
> snapshotting. Master state snapshotting is taken before task state 
> snapshotting. Because in master hook, there might be external system 
> initialization which task state snapshotting might depend on.



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

Reply via email to