You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Gyula Fora (JIRA)" <ji...@apache.org> on 2019/04/09 09:29:00 UTC

[jira] [Created] (FLINK-12142) Add beforeSnapshot method to StreamOperator interface

Gyula Fora created FLINK-12142:
----------------------------------

             Summary: Add beforeSnapshot method to StreamOperator interface
                 Key: FLINK-12142
                 URL: https://issues.apache.org/jira/browse/FLINK-12142
             Project: Flink
          Issue Type: New Feature
          Components: Runtime / Checkpointing
            Reporter: Gyula Fora


Right now, when a stream task receives a triggerCheckpoint call, it immediately forwards the checkpoint barrier and performs the checkpoint operation under the checkpoint lock.

This mechanism doesn't allow the stream operations to implement any logic that should be performed before the snapshot is triggered in order to ensure state consistency.

Some examples would be:
 * Flushing any state (or other kind of) cache that is implemented in the operator layer
 * Wait for pending operations (maybe with a different async execution model)

The method could for instance look simply like this in the StreamOperator interface:
 {{default void beforeSnapshot(long checkpointId, long timestamp) throws Exception {};}} 

This method should then be called before the barrier is sent downstream still outside the checkpoint lock.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)