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)