[jira] [Created] (FLINK-19934) [FLIP-27 source] add new API: SplitEnumeratorContext.execute(Runnable)

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Created] (FLINK-19934) [FLIP-27 source] add new API: SplitEnumeratorContext.execute(Runnable)

Shang Yuanchun (Jira)
Steven Zhen Wu created FLINK-19934:
--------------------------------------

             Summary: [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


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?




--
This message was sent by Atlassian Jira
(v8.3.4#803005)