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