GitHub user florianschmidt1994 opened a pull request: https://github.com/apache/flink/pull/5342
[FLINK-8470] Timebounded stream join ## What is the purpose of the change Add a time-bounded inner join implementation of two streams as a TwoInputStreamOperator, as discussed in https://docs.google.com/document/d/16GMH5VM6JJiWj_N0W8y3PtQ1aoJFxsKoOTSYOfqlsRE/edit ## Brief change log - Add `TimeBoundedStreamJoinOperator` in `org.apache.flink.streaming.api.functions` - Add `TimeBoundedStreamJoinOperatorTest` in `org.apache.flink.streaming.api.functions` ## Verifying this change This change added tests and can be verified as follows: - Added unit tests in TimeBoundedStreamJoinOperatorTest which test correctness and state handling ## 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): yes - Anything that affects deployment or recovery: no - The S3 file system connector: no ## Documentation - Does this pull request introduce a new feature? yes - If yes, how is the feature documented? - JavaDocs - Design document: https://docs.google.com/document/d/16GMH5VM6JJiWj_N0W8y3PtQ1aoJFxsKoOTSYOfqlsRE/edit You can merge this pull request into a Git repository by running: $ git pull https://github.com/florianschmidt1994/flink timebounded-stream-join Alternatively you can review and apply these changes as the patch at: https://github.com/apache/flink/pull/5342.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #5342 ---- commit 6c290e3fafcbf7fe9764a03e58545f3cbe995c66 Author: Florian Schmidt <florian.schmidt.1994@...> Date: 2018-01-18T14:47:14Z Prototypical implementation of time-bounded stream joins commit 07226ea122f0d385f4f5b3e455d6cb1c38e0fc5a Author: Florian Schmidt <florian.schmidt.1994@...> Date: 2018-01-18T17:10:38Z Improve how to buffer is cleared for unneeded elements commit a48724c7d744414521a4a53689cef86e0a09b398 Author: Florian Schmidt <florian.schmidt.1994@...> Date: 2018-01-22T10:21:05Z Broken value state commit 64550d4531f7bce24071607670291314c817277e Author: Florian Schmidt <florian.schmidt.1994@...> Date: 2018-01-22T10:28:26Z Fix state initialization issues commit 231cc9c78ce04ef5b9c5a282d3132ff8a4dedaf6 Author: Florian Schmidt <florian.schmidt.1994@...> Date: 2018-01-22T13:09:41Z Minor cleanup and todos commit 5ee3f1f23fff51ef8916c6526d5e48cb553e6ee2 Author: Florian Schmidt <florian.schmidt.1994@...> Date: 2018-01-22T13:15:23Z Use try-with-resources in tests commit caabe856795b01478288311f53aa124f91c74062 Author: Florian Schmidt <florian.schmidt.1994@...> Date: 2018-01-22T13:40:52Z Use more descriptive names commit 570aeeddd7913f5fe1c7ec5389b18255a16dc986 Author: Florian Schmidt <florian.schmidt.1994@...> Date: 2018-01-22T15:24:15Z Change from CoProcessFunction to Operator commit c49cbc473573773814dc66a59f7aa86a44dc4e86 Author: Florian Schmidt <florian.schmidt.1994@...> Date: 2018-01-22T15:25:18Z Remove unused class commit 9f01df944e842504101e4ec9acde4336bb2d568e Author: Florian Schmidt <florian.schmidt.1994@...> Date: 2018-01-22T16:51:59Z Cleanup some code commit 1c1a90ad17f0d59a7fbd7a64f676d54aae60bb33 Author: Florian Schmidt <florian.schmidt.1994@...> Date: 2018-01-23T14:56:48Z Minor improvements and docs commit d672f052386ff7636de5591b8d8c4d9b45450440 Author: Florian Schmidt <florian.schmidt.1994@...> Date: 2018-01-23T16:23:54Z License headers and import order ---- ---