Hi Jan,

Two pointers that may help you explain the behavior are the following:

1) If you have a custom watermark generator, I do not think that Flink
checks if it emits only monotonically
increasing watermarks. This is the responsibility of the generator itself.
This means that although you operator A
is topologically before operator B, operator A may have a smaller watermark
if your watermark generator allows so.

2) Flink currently does not checkpoint the last seen watermark (
https://issues.apache.org/jira/browse/FLINK-5601).
This means that after restoring, your (event) time is assumed to be
Long.Min until the first new watermark comes.
So if you observed late data not being late anymore or sth similar, then it
may not be that the two operators have
different watermarks but that after restoring event time rolls back to the
"beginning of time".

I hope this helps,
Kostas

On Wed, Aug 7, 2019 at 12:11 PM Jan Lukavský <je...@seznam.cz> wrote:

> Hi all,
>
> I have just come across a weird state of operators after restore from
> checkpoint. After the restore, two operators that are connected (i.e.
> operator A is input of operator B) ended up with watermark of operator A
> being less than watermark of operator B. I don't know how to explain
> this. Can it be normal or does it signal a bug somewhere? If I
> understand Flink's checkpointing correctly, the checkpoint barrier flows
> from one operator to another, so the watermark should be aligned.
>
> I'm running a Beam pipeline on Flink 1.8.1.
>
> Am I missing something?
>
> Many thanks for comments,
>
>   Jan
>
>

Reply via email to