[
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)