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

Stephan Ewen commented on FLINK-13698:
--------------------------------------

I would suggest to have the {{CheckpointCoordinator}} and the 
{{Scheduler}}/{{ExecutionGraph}} in the same thread.
That makes a lot of things much easier.

  - The checkpoint timer logic should be factored out into the periodic 
checkpoint trigger.
  - The actual call 
  - All cleanup and writing of state should be delegated to the I/O executor.
    -> mainly state release as a "fire and forget" execution in the I/O executor
    -> writing out master-hook data and checkpoint metadata needs to happen in 
the I/O executor, with a Future whose completion is again handles in the main 
thread executor.

> Rework threading model of CheckpointCoordinator
> -----------------------------------------------
>
>                 Key: FLINK-13698
>                 URL: https://issues.apache.org/jira/browse/FLINK-13698
>             Project: Flink
>          Issue Type: Improvement
>          Components: Runtime / Checkpointing
>    Affects Versions: 1.10.0
>            Reporter: Piotr Nowojski
>            Assignee: Biao Liu
>            Priority: Critical
>
> Currently {{CheckpointCoordinator}} and {{CheckpointFailureManager}} code is 
> executed by multiple different threads (mostly {{ioExecutor}}, but not only). 
> It's causing multiple concurrency issues, for example: 
> https://issues.apache.org/jira/browse/FLINK-13497
> Proper fix would be to rethink threading model there. At first glance it 
> doesn't seem that this code should be multi threaded, except of parts doing 
> the actual IO operations, so it should be possible to run everything in one 
> single ExecutionGraph's thread and just run asynchronously necessary IO 
> operations with some feedback loop ("mailbox style").
> I would strongly recommend fixing this issue before adding new features in 
> the \{{CheckpointCoordinator}} component.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

Reply via email to