[
https://issues.apache.org/jira/browse/FLINK-22133?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17324985#comment-17324985
]
Stephan Ewen edited comment on FLINK-22133 at 4/19/21, 12:24 PM:
-----------------------------------------------------------------
Originally, we were thinking to keep checkpoint IDs out of the
{{SplitEnumerator}} completely, keeping it simple.
We somehow partially went away from this with adding the {{CheckpointListener}}
interface, which gets checkpointIDs for completed checkpoints. In that, I guess
it makes sense to add them also to the {{SplitEnumerator.snapshotState()}}
method.
[~jqin] what do you think?
[~dwysakowicz] [~maguowei] This is a very simple change, but API breaking, so
the sooner we do it the better. Do you think we should put this as a fix into
the 1.13 release?
Alternatively, I can create a non-breaking version this way:
- For 1.12.x and 1.13.x, we add a new default method {{snapshotState(long
checkpointId)}} which calls the method {{snapshotState()}}. The default method
is the one that the system calls. So everything keeps working as currently, but
users can override the default method (although they still have to override the
other method as well with an empty body, to make the code compile).
- For 1.14, we remove the {{snapshotState()}} method and make the
{{snapshotState(long checkpointId)}} a non-default method.
was (Author: stephanewen):
Originally, we were thinking to keep checkpoint IDs out of the
{{SplitEnumerator}} completely, keeping it simple.
We somehow partially went away from this with adding the {{CheckpointListener}}
interface, which gets checkpointIDs for completed checkpoints. In that, I guess
it makes sense to add them also to the {{SplitEnumerator.snapshotState()}}
method.
[~jqin] what do you think?
[~dwysakowicz] [~maguowei] This is a very simple change, but API breaking, so
the sooner we do it the better. Do you think we should put this as a bugfix
into the 1.13 release branch?
> SplitEmumerator does not provide checkpoint id in snapshot
> ----------------------------------------------------------
>
> Key: FLINK-22133
> URL: https://issues.apache.org/jira/browse/FLINK-22133
> Project: Flink
> Issue Type: Bug
> Components: Connectors / Common
> Affects Versions: 1.12.0
> Reporter: Brian Zhou
> Priority: Major
>
> In ExternallyInducedSource API, the checkpoint trigger exposes the checkpoint
> Id for the external client to identify the checkpoint. However, in the
> FLIP-27 source, the SplitEmumerator::snapshot() is a no-arg method. The
> connector cannot track the checkpoint ID from Flink
--
This message was sent by Atlassian Jira
(v8.3.4#803005)