[
https://issues.apache.org/jira/browse/FLINK-7883?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16565446#comment-16565446
]
Aljoscha Krettek commented on FLINK-7883:
-----------------------------------------
For a start, I renamed the issue. I hope it captures what we want to achive. I
don't yet know to solve it but I think quiescing the pipeline and then taking
the savepoint might be an option.
Regarding {{StoppableFunction}}: I think adding this interface was misguided
and we should not try and use it for more stuff. The idea of introducing a new
source interface has been floated several times on the ML and in various
issues. I think such an interface would/should not need the distinction between
cancel and stop if it allowed the system (i.e. Flink) to determine when to get
new data from the source instead of the source owning the pull loop. WDYT?
> Make savepoints atomic with respect to state and side effects
> -------------------------------------------------------------
>
> Key: FLINK-7883
> URL: https://issues.apache.org/jira/browse/FLINK-7883
> Project: Flink
> Issue Type: Improvement
> Components: DataStream API, Kafka Connector, State Backends,
> Checkpointing
> Affects Versions: 1.3.2, 1.4.0
> Reporter: Antoine Philippot
> Priority: Major
>
> For a cancel with savepoint command, the JobManager trigger the cancel call
> once the savepoint is finished, but during the savepoint execution, kafka
> source continue to poll new messages which will not be part of the savepoint
> and will be replayed on the next application start.
> A solution could be to stop fetching the source stream task before triggering
> the savepoint.
> I suggest to add an interface {{StoppableFetchingSourceFunction}} with a
> method {{stopFetching}} that existant SourceFunction implementations could
> implement.
> We can add a {{stopFetchingSource}} property in
> {{CheckpointOptions}} class to pass the desired behaviour from
> {{JobManager.handleMessage(CancelJobWithSavepoint)}} to
> {{SourceStreamTask.triggerCheckpoint}}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)