Skip to content

[flink] Support bounded streaming read for Fluss source - #4022

Open
naivedogger wants to merge 4 commits into
apache:mainfrom
naivedogger:feature/flink-bounded-streaming-source
Open

[flink] Support bounded streaming read for Fluss source#4022
naivedogger wants to merge 4 commits into
apache:mainfrom
naivedogger:feature/flink-bounded-streaming-source

Conversation

@naivedogger

Copy link
Copy Markdown
Contributor

Purpose

Linked issue: close #4021

Brief change log

Tests

API and Format

Documentation

Similar to the Kafka connector's bounded read, a streaming job can now
read from a given starting position up to a given stopping position and
then finish, which is useful for replaying a bounded time range of the
log, backfilling and archiving.

- FlinkSource reports BOUNDED when stopping offsets are supplied, and
  passes them through createEnumerator/restoreEnumerator.
- FlinkSourceEnumerator treats a streaming read with stopping offsets as
  bounded: one-time partition discovery and NoMoreSplits signaling, so
  the job finishes once all splits reach their stopping offsets.
- scan.bounded.mode is supported for log tables, the changelog of
  primary key tables (earliest/latest/timestamp startup mode) and the
  $changelog/$binlog virtual tables; the full startup mode of primary
  key tables and the datalake union read are rejected explicitly.
- FlussSourceBuilder#setBounded(OffsetsInitializer) enables bounded
  streaming reads in the DataStream API.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[flink] Support bounded streaming read for Fluss source

1 participant