So I understood that you have roughly this pipeline:
Input 1 --\
|- CoFlatMap - TimestampAndWatermarkAssigner - KeyBy - Window
Input 2 --/
If the timestamp assigner is after the CoFlatMap the processInput() method of
the extractor should still be called. Not by the StreamInputProcessor but by
ChainingOutput , which basically connects the Two-Input CoFlatMap to the
one-input operator that comes after that. The could still be a bug in there
Could you maybe send me the relevant parts of your code, so that I can have a
look. Or provide a minimal example.
> On 7. Aug 2017, at 19:21, aitozi <gjying1...@gmail.com> wrote:
> my flink version is 1.2
> i am work on this problem these days. Below is my found.
> when i use "assignTimestampsAndWatermark" with same parallelism as 240 as
> the before operator, the before operator has two input(it is a "connected"
> Co-FlatMap operator with parallelism 240), it runs into that the watermark
> didn't update.
> the i look into the source code, that the
> StreamTwoInputProcessor.java#processInput called by TwoInputStreamTask has
> method with processElement1() and processElement2() method, but all of them
> do not run processElement in StreamInputProcessor to extractTimestamp(shown
> in TimestampsAndPeriodicWatermarksOperator)
> so that, the timestamp is not update, and my waterMark is update just like
> the class BoundedOutOfOrdernessTimestampExtractor .
> So, is it a bug that the timestamp is not update when deal with a two input
> Ps: my English is not very good , i dont know can you understand me :)
> View this message in context:
> Sent from the Apache Flink User Mailing List archive. mailing list archive at