aljoscha opened a new pull request #12147: URL: https://github.com/apache/flink/pull/12147
## What is the purpose of the change This change introduces the new `TimestampAssigner` and `WatermarkGenerator`, along with the helper `WatermarkStrategy` and `WatermarkStrategies`. This is according to [FLIP-126](https://cwiki.apache.org/confluence/display/FLINK/FLIP-126%3A+Unify+%28and+separate%29+Watermark+Assigners) for which we currently have a VOTE ongoing. This is a mix of earlier work by @StephanEwen (https://github.com/StephanEwen/flink/commits/event_time), along with my additions/proposals. The individual commit messages describe quite well what is going on. ## Brief change log This does four (somewhat related) changes in multiple commits. Most of these are a commit by Stephan and then a couple of addons by me. The four bigger themes are: - adding the new basic interfaces `TimestampAssigner`/`WatermarkGenerator` - adding the factory `WatermarkStrategy`, along with common strategies and the `WatermarkStrategies` helper - changing `WatermarkStrategy` to also include the `TimestampAssigner`, which is not as originally intended by @StephanEwen - using the new interfaces for per-partition watermarking in the Kafka Connector. This uses adapters for still supporting the old-style interfaces ## Verifying this change - this adds test for newly introduced classes - the added Kafka code is verified by existing `AbstractFetcherTest` and ITCases. New tests were added specifically for `WatermarkGenerator` in the Kafka connector ## 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)`: yes - The serializers: no - The runtime per-record code paths (performance sensitive): maybe, for the Kafka source - Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn/Mesos, ZooKeeper: no - The S3 file system connector: no ## Documentation - Does this pull request introduce a new feature? yes - If yes, how is the feature documented? No, I have yet to add documentation in `dev/event_timestamp_extractors.md`, `dev/event_timestamps_watermarks.md`, and `dev/connectors/kafka.md`. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org