That makes sense, thanks for your answer.

Greetings,

Juan

On Mon, Nov 21, 2016 at 9:11 AM, Aljoscha Krettek <aljos...@apache.org>
wrote:

> Hi,
> yes, Flink is expected to buffer those until the watermark catches up with
> their timestamp.
>
> Cheers,
> Aljoscha
>
> On Sun, 20 Nov 2016 at 06:18 Juan Rodríguez Hortalá <
> juan.rodriguez.hort...@gmail.com> wrote:
>
>> Hi,
>>
>> There was a bug in my code, I was assigning the timestamps wrong and that
>> is why it looked like early events where assigned processing time.
>> Surprisingly enought my test works both ok with early events. In fact I
>> have modified my test data generator to generate early events or late
>> events, and both seem to work ok with my test (https://github.com/juanrh/
>> flink-state-eviction/blob/293fe1cf972b2e4bc6fb4e874eb8ba
>> 70c78f7894/src/main/java/com/github/juanrh/streaming/source/
>> EventTimeDelayedElementsSource.java, https://github.com/juanrh/
>> flink-state-eviction/blob/293fe1cf972b2e4bc6fb4e874eb8ba
>> 70c78f7894/src/test/java/com/github/juanrh/streaming/source/
>> EventTimeDelayedElementsSourceTest.java)
>>
>> Anyway, is this the expected behaviour for early events? Is Flink
>> buffering early events until their future timestamp arrives?
>>
>> Thanks,
>>
>> Juan
>>
>>
>> On Sat, Nov 19, 2016 at 8:31 PM, Juan Rodríguez Hortalá <
>> juan.rodriguez.hort...@gmail.com> wrote:
>>
>> 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