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)