Manu Zhang created FLINK-4862:
---------------------------------

             Summary: NPE on EventTimeSessionWindows with 
ContinuousEventTimeTrigger
                 Key: FLINK-4862
                 URL: https://issues.apache.org/jira/browse/FLINK-4862
             Project: Flink
          Issue Type: Bug
          Components: Streaming, Windowing Operators
            Reporter: Manu Zhang


h3. what's the error ?

The following NPE error is thrown when EventTimeSessionWindows with 
ContinuousEventTimeTrigger is used.
{code}
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)
{code}

h3. how to reproduce ?

use {{ContinuousEventTimeTrigger}} instead of the default {{EventTimeTrigger}} 
in [SessionWindowing | 
https://github.com/apache/flink/blob/master/flink-examples/flink-examples-streaming/src/main/java/org/apache/flink/streaming/examples/windowing/SessionWindowing.java#L84]
 example. 

h3. 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. 






--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to