Github user alpinegizmo commented on a diff in the pull request:
https://github.com/apache/flink/pull/6076#discussion_r190841926
--- Diff: docs/dev/event_time.md ---
@@ -219,4 +219,17 @@ with late elements in event time windows.
Please refer to the [Debugging Windows & Event Time]({{ site.baseurl
}}/monitoring/debugging_event_time.html) section for debugging
watermarks at runtime.
+## How operators are processing watermarks
+
+General rule is that operator are required to completely process a given
watermark before forwarding it downstream. For example,
+`WindowOperator` will first evaluate which windows should be fired and
only after producing all of the output triggered by
+the watermark, the watermark itself will be handled downstream. In other
words, all elements produced due to occurrence of
+the watermark will be emitted before such watermark.
+
+Same rule applies to `TwoInputStreamOperator`. However in this case
current watermark of the operator is defined as a minimum
+of both of it's inputs.
+
+Details of this behaviour is defined by implementations of methods
`OneInputStreamOperator.processWatermark`,
+`TwoInputStreamOperator.processWatermark1` and
`TwoInputStreamOperator.processWatermark2`.
+
--- End diff --
I offer some grammatical improvements. Also, is it correct to describe
"operators are required to completely process a given watermark before
forwarding it downstream" as a general rule, meaning that it might have
exceptions, or should we simply say "operators are required ..." without adding
this caveat?
I changed behaviour to behavior because most of the docs seem to be using
American spellings rather than English ones, but I'm not sure if we have a
policy regarding this.
---