You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Stephan Ewen (Jira)" <ji...@apache.org> on 2020/11/08 15:35:00 UTC
[jira] [Resolved] (FLINK-19934) [FLIP-27 source] add new API:
SplitEnumeratorContext.runInCoordinatorThread(Runnable)
[ https://issues.apache.org/jira/browse/FLINK-19934?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Stephan Ewen resolved FLINK-19934.
----------------------------------
Fix Version/s: 1.12.0
Assignee: Steven Zhen Wu
Resolution: Fixed
Fixed in 1.12.0 (master) via f25ca1b9dd40f29f4ac681733bb56128ef7dd58a
> [FLIP-27 source] add new API: SplitEnumeratorContext.runInCoordinatorThread(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
> Assignee: Steven Zhen Wu
> Priority: Major
> Labels: pull-request-available
> Fix For: 1.12.0
>
>
> 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)