[
https://issues.apache.org/jira/browse/FLINK-19934?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17225969#comment-17225969
]
Stephan Ewen commented on FLINK-19934:
--------------------------------------
I see, basically scheduling into the main thread.
I personally see no problem to have something like that. Maybe we can think of
a slightly different name than "execute(...)" to make it clearer that this task
gets enqueued into the enumerator's thread.
> [FLIP-27 source] add new API: SplitEnumeratorContext.execute(Runnable)
> ----------------------------------------------------------------------
>
> Key: FLINK-19934
> URL: https://issues.apache.org/jira/browse/FLINK-19934
> Project: Flink
> Issue Type: New Feature
> Components: API / DataStream
> Affects Versions: 1.11.2
> Reporter: Steven Zhen Wu
> Priority: Major
>
> Here is the motivation use case. We are implementing event-time alignment
> across sources in Iceberg source. Basically, each Iceberg source/enumerator
> tracks its watermark using min/max timestamps captures in the column stats of
> the data files.
> When the watermark from another source advances, notified source/enumerator
> can try `assignSplits` as constraints may be satisfied now. This callback is
> initiated from the coordinator thread from the other source. If we have
> `SplitEnumeratorContext.execute(Runnable r)` API, we can ensure that all the
> actions by enumerator and assigner are serialized by the coordinator thread.
> That can avoid the need of locks.
> [~becket_qin] [~sewen] what do you think? cc [~sundaram]
--
This message was sent by Atlassian Jira
(v8.3.4#803005)