Arseniy Tashoyan created FLINK-12044:
----------------------------------------

             Summary: Flink CEP discards events as late if they have timestamps 
<= 0
                 Key: FLINK-12044
                 URL: https://issues.apache.org/jira/browse/FLINK-12044
             Project: Flink
          Issue Type: Bug
          Components: Library / CEP
    Affects Versions: 1.7.2
            Reporter: Arseniy Tashoyan


Let's make an input stream like this:

{code:scala}
env.setStreamTimeCharacteristic(TimeCharacteristic.EventTime)
val events = env.fromElements(
      Event(timestamp = 0L, siteId),
      Event(timestamp = 500L, siteId)
)
.assignTimestampsAndWatermarks(new BoundedOutOfOrdernessTimestampExtractor{...})
{code}

For this stream the event with timestamp = 0L will be treated as late. The 
reason is AbstractKeyedCEPPatternOperator that initializes lastWatermark with 
the default value provided by the compiler: zero. Would it be more correct to 
initialize lastWatermark with Long.MIN_VALUE?

Of course, this is not a blocking defect, but I had really hard times to find 
why my unit test disregards the first event. Strictly speaking, this behavior 
seems incorrect.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to