Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.1.3, 1.2.0
-
None
Description
what's the error ?
The following NPE error is thrown when EventTimeSessionWindows with ContinuousEventTimeTrigger is used.
Caused by: java.lang.NullPointerException at org.apache.flink.streaming.api.windowing.triggers.ContinuousEventTimeTrigger.clear(ContinuousEventTimeTrigger.java:91) at org.apache.flink.streaming.runtime.operators.windowing.WindowOperator$Context.clear(WindowOperator.java:768) at org.apache.flink.streaming.runtime.operators.windowing.WindowOperator$2.merge(WindowOperator.java:310) at org.apache.flink.streaming.runtime.operators.windowing.WindowOperator$2.merge(WindowOperator.java:297) at org.apache.flink.streaming.runtime.operators.windowing.MergingWindowSet.addWindow(MergingWindowSet.java:196) at org.apache.flink.streaming.runtime.operators.windowing.WindowOperator.processElement(WindowOperator.java:297) at org.apache.flink.streaming.runtime.io.StreamInputProcessor.processInput(StreamInputProcessor.java:183) at org.apache.flink.streaming.runtime.tasks.OneInputStreamTask.run(OneInputStreamTask.java:66) at org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:271) at org.apache.flink.runtime.taskmanager.Task.run(Task.java:609) at java.lang.Thread.run(Thread.java:745)
how to reproduce ?
use ContinuousEventTimeTrigger instead of the default EventTimeTrigger in SessionWindowing example.
what's the cause ?
When two session windows are being merged, the states of the two ContinuousEventTimeTrigger are merged as well and the new namespace is the merged window. Later when the context tries to delete Timer from the old trigger and looks up the timestamp by the old namespace, null value is returned.
Attachments
Issue Links
- links to