Hi Alexis,

please take a look at AbstractStreamOperator [1] for details how the
watermark is calculate for TwoInputOperator. It uses pretty much the same
approach as for with the single input one (it simply takes a minimum).

For watermark re-assignment, we ignore input watermark unless it's
Long.MAX_LONG (this happens on shutdown, eg. savepoint + drain). You can
see more details by looking at the TimestampsAndWatermarksOperator [2].

[1]
https://github.com/apache/flink/blob/release-1.14.0/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/operators/AbstractStreamOperator.java#L608
[2]
https://github.com/apache/flink/blob/release-1.14.0/flink-streaming-java/src/main/java/org/apache/flink/streaming/runtime/operators/TimestampsAndWatermarksOperator.java#L124

Best,
D.

On Wed, Dec 1, 2021 at 9:49 AM Alexis Sarda-Espinosa <
[email protected]> wrote:

> Hi everyone,
>
>
>
> Based on what I know, a single operator with parallelism > 1 checks the
> watermarks from all its streams and uses the smallest one out of the
> non-idle streams. My first question is whether watermarks are forwarded as
> long as a different watermark strategy is not applied downstream? For
> example, will my stream keep its watermarks even after windowing +
> processing?
>
>
>
> The second question is what happens with watermarks after connecting 2
> streams, specifically these 2 possibilities:
>
>
>
> - One stream was watermarks but the other one doesn’t.
>
> - Both streams have watermarks.
>
>
>
> Regards,
>
> Alexis.
>
>
>

Reply via email to