flink-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (FLINK-4862) NPE on EventTimeSessionWindows with ContinuousEventTimeTrigger
Date Mon, 24 Oct 2016 13:42:58 GMT

    [ https://issues.apache.org/jira/browse/FLINK-4862?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15602016#comment-15602016
] 

ASF GitHub Bot commented on FLINK-4862:
---------------------------------------

Github user mxm commented on a diff in the pull request:

    https://github.com/apache/flink/pull/2671#discussion_r84689568
  
    --- Diff: flink-streaming-java/src/main/java/org/apache/flink/streaming/api/windowing/triggers/ContinuousEventTimeTrigger.java
---
    @@ -99,8 +111,12 @@ public boolean canMerge() {
     	}
     
     	@Override
    -	public TriggerResult onMerge(W window, OnMergeContext ctx) {
    +	public TriggerResult onMerge(W window, OnMergeContext ctx) throws Exception {
     		ctx.mergePartitionedState(stateDesc);
    +		Long nextFireTimestamp = ctx.getPartitionedState(stateDesc).get();
    +		if (nextFireTimestamp != null) {
    +			ctx.registerEventTimeTimer(nextFireTimestamp);
    +		}
    --- End diff --
    
    Yes, you're right. It is actually handled correctly in `EventTimeTrigger` but not for
the continuous trigger.


> 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
>    Affects Versions: 1.2.0, 1.1.3
>            Reporter: Manu Zhang
>            Assignee: Manu Zhang
>             Fix For: 1.2.0, 1.1.4
>
>
> 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)

Mime
View raw message