Skip to content

[FLINK-32695] [Tests] Migrated TimestampITCase to SourceV2 #26865

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

Poorvankbhatia
Copy link
Contributor

What is the purpose of the change

This PR migrates all legacy SourceFunction usages in TimestampITCase to the modern FLIP-27 Source V2 API

Brief change log

-Replaced all env.addSource(...) usages with env.fromSource(...) using Source V2
-Introduced timestampSource(...) factory and unified MyTimestampSourceV2 + MyTimestampSourceInfiniteV2
-Consolidated MyTimestampSourceReader and MyTimestampSourceInfiniteReader into a single TimestampSourceReader
-Replaced MySourceSplit and MySourceSplitSerializer with singleton-style instances (SPLIT, SPLIT_SERIALIZER)
-Migrated tests like testTimestampExtractorWithDecreasingCustomWatermarkEmit and testTimestampExtractorWithLongMaxWatermarkFromSource to use either DataGeneratorSource or simplified Source V2
-Added rate limiting in DataGeneratorSource where applicable to allow watermarks to be emitted

Verifying this change

Existing tests already cover the migrated logic:
-TimestampITCase: All tests were adapted to use Source V2

Test coverage includes:
-testWatermarkPropagation, testTimestampHandling, testDisabledTimestamps
-Tests involving auto watermark interval and custom watermark generators
-Final watermark emission and out-of-order timestamp handling

All tests pass without behavioral changes.

Does this pull request potentially affect one of the following parts:

  • Dependencies (does it add or upgrade a dependency): no
  • The public API, i.e., is any changed class annotated with @Public(Evolving): no
  • The serializers: no
  • The runtime per-record code paths (performance sensitive): no
  • Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: no
  • The S3 file system connector: no

Documentation

  • Does this pull request introduce a new feature? no
  • If yes, how is the feature documented? not applicable

@flinkbot
Copy link
Collaborator

flinkbot commented Aug 4, 2025

CI report:

Bot commands The @flinkbot bot supports the following commands:
  • @flinkbot run azure re-run the last Azure build

@fapaul fapaul self-requested a review August 5, 2025 09:17
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants