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

Reply via email to