Hi,

Maybe this is already in the documentation, sorry if I'm asking something
obvious. I was thinking that if you have event time then you can also have
early events, which would be events whose extracted timestampt is in the
future. This might happen in practice for example in sensors with a skewed
clock, that assign timestamps in the future to the events. I have made a
simple test with a time window (
https://github.com/juanrh/flink-state-eviction/commit/09c2c1fe1e6068b0703c0833b8a574313cdca5a2),
and it looks like Flink treats early events like events generated at the
current processing time. What it's the expected behaviour of Flink for
early events?

Early events might be interesting for generating test data, if Flink was
able to buffer those early events until its actual time arrives, although I
guess implementing that would probably impact the performance in
production. But as I say, early events might happen in production because
you can have wrong clocks or wrong code in general in the devices that
generate the events. Maybe a fallback to ingestion time would make sense,
and an approximation to that might be implemented with a timestamp
extractor that overrides future timestamps with System.currenTimeMillis.

Greetings,

Juan

Reply via email to