Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

[FLINK-10327][streaming] Expose processWatermarks notifications to (Co)ProcessFunction #6687

Closed
wants to merge 1 commit into from

Conversation

pnowojski
Copy link
Contributor

This PR exposes hooks for processWatermark, processWatermark1 and processWatermark2 to ProcessFunction and CoProcessFunction.

Verifying this change

Added new tests to ProcessOperatorTest and CoProcessOperatorTest

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

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

Documentation

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

@kl0u
Copy link
Contributor

kl0u commented Sep 13, 2018

Hi @pnowojski !

I can understand that this can be an interesting addition for some usecases, but it is a big one, and it should be discussed more thoroughly and, most importantly, more publicly. I would be against merging it as just a sub-commit of another feature.

The reason is that this allows users to "play" with watermarks from the level of a Function and not Operator, which was, intentionally, the case so far.

If you want to "hold back" the watermark, the this should be done by a watermark assigner.

If you want to run a "callback" upon watermark, then so far the trick is to register a timer for watermark + 1.

I can find usecases which do not fall into any of the above, but for those so far we implement custom operators.

@pnowojski
Copy link
Contributor Author

I'm closing this PR since I have realised that it's incomplete (missing implementation in other types of ProcessFunctions). @kl0u lets move this discussion to Jira.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants