[jira] [Created] (FLINK-12044) Flink CEP discards events as late if they have timestamps <= 0

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Created] (FLINK-12044) Flink CEP discards events as late if they have timestamps <= 0

Shang Yuanchun (Jira)
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)