Hello, I think I see a bug in a few places related to determining whether an input is to be considered late. Some components use the logic that (timestamp <= watermark) is considered late. Others use (timestamp < watermark). I think the former is correct according to the definition in Watermark.java.
Compare: https://github.com/apache/flink/blob/df7452d9811b0aa88919d7e3c1f6c34b36ac9b38/flink-streaming-java/src/main/java/org/apache/flink/streaming/runtime/operators/windowing/WindowOperator.java#L574 https://github.com/apache/flink/blob/df7452d9811b0aa88919d7e3c1f6c34b36ac9b38/flink-libraries/flink-table/src/main/scala/org/apache/flink/table/runtime/aggregate/RowTimeUnboundedOver.scala#L116 https://github.com/apache/flink/blob/df7452d9811b0aa88919d7e3c1f6c34b36ac9b38/flink-libraries/flink-cep/src/main/java/org/apache/flink/cep/operator/AbstractKeyedCEPPatternOperator.java#L168 I might be misunderstanding the above snippets, it was a cursory look. -Eron
