This is an automated email from the ASF dual-hosted git repository.

pnowojski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink.git

commit 78254b3eee73e8d002dfd7e9afcc92e81e79d83e
Author: Piotr Nowojski <piotr.nowoj...@gmail.com>
AuthorDate: Fri May 25 09:55:04 2018 +0200

    [hotfix][docs] Specify operators behaviour on processing watermarks
---
 docs/dev/event_time.md | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/docs/dev/event_time.md b/docs/dev/event_time.md
index 886bf22..e3090ad 100644
--- a/docs/dev/event_time.md
+++ b/docs/dev/event_time.md
@@ -180,6 +180,8 @@ Once a watermark reaches an operator, the operator can 
advance its internal *eve
 
 <img src="{{ site.baseurl }}/fig/stream_watermark_out_of_order.svg" alt="A 
data stream with events (out of order) and watermarks" class="center" 
width="65%" />
 
+Note that event time is inherited by a freshly created stream element (or 
elements) from either the event that produced them or
+from watermark that triggered creation of those elements.
 
 ## Watermarks in Parallel Streams
 
@@ -219,4 +221,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
+
+As a general rule, operators 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 will the watermark itself be sent downstream. In other words, 
all elements produced due to occurrence of a watermark
+will be emitted before the watermark.
+
+The same rule applies to `TwoInputStreamOperator`. However, in this case the 
current watermark of the operator is defined as
+the minimum of both of its inputs.
+
+The details of this behavior are defined by the implementations of the 
`OneInputStreamOperator#processWatermark`,
+`TwoInputStreamOperator#processWatermark1` and 
`TwoInputStreamOperator#processWatermark2` methods.
+
 {% top %}

Reply via email to