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

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

Hi [~pnowojski],
{quote}this is `PublicEvolving` class, so we are allowed to change it.
{quote}
Yes we could. I'm just not sure if it's designed to support feature like this, 
initializing an external system before snapshotting task state. Maybe the 
original author [~sewen] could give us more background informations?

The Peavega connector maintainer gave me a response that my guess is right. 
They executes the `triggerCheckpoint` asynchronously. I have left another 
message to ask them if they depend on the sequential order of triggering master 
hook and snapshotting task state.
{quote}how difficult would it be to provide the 2nd semantic? Would dropping 
the synchronous hooks support and providing just the 1st semantic be 
significantly easier to write/support/maintain?
{quote}
Based on my POC, it's not much harder to provide the 2nd semantic from the 
perspective of implementation.

If it's a kind of "pure" master state, not master hook of 
{{ExternallyInducedSource}}, I think I'll choose the 1st semantic. There should 
be no dependence between master state and task state. But the semantic of 
master hook is somewhat special, you know, I tend to leave it alone (at-least 
before we have thought about it clearly). Of course, we'd better wait a bit for 
the feedback of Pervega connector maintainers.

> 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