You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Aljoscha Krettek (JIRA)" <ji...@apache.org> on 2016/02/04 20:33:39 UTC

[jira] [Commented] (FLINK-3339) Checkpointing NPE when using filterWithState

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

Aljoscha Krettek commented on FLINK-3339:
-----------------------------------------

The problem is that the recent change to the state interface enhanced {{State}} with a {{clear()}} method for removing state. Before, one had to use {{OperatorState.update(null)}} to remove state, now the preferred choice would be {{ValueState.clear()}}. We have to decide whether we want to reintroduce the old behavior of clearing state if a user gives {{null}} to {{update()}}.

On a side note, the Scala {{*WithState}} family of methods could use some more tests to catch these kinds of problems.

> Checkpointing NPE when using filterWithState
> --------------------------------------------
>
>                 Key: FLINK-3339
>                 URL: https://issues.apache.org/jira/browse/FLINK-3339
>             Project: Flink
>          Issue Type: Bug
>            Reporter: Shikhar Bhushan
>
> (1.0-SNAPSHOT)
> I am using the Scala API keyedStream.filterWithState(..), where the state is an Option[Long]
> I am seeing the following error which goes away if I remove the filter.
> {noformat}
> 02/04/2016 14:10:19	Job execution switched to status FAILING.
> java.lang.RuntimeException: Error triggering a checkpoint as the result of receiving checkpoint barrier
> 	at org.apache.flink.streaming.runtime.tasks.StreamTask$2.onEvent(StreamTask.java:651)
> 	at org.apache.flink.streaming.runtime.tasks.StreamTask$2.onEvent(StreamTask.java:644)
> 	at org.apache.flink.streaming.runtime.io.BarrierBuffer.processBarrier(BarrierBuffer.java:201)
> 	at org.apache.flink.streaming.runtime.io.BarrierBuffer.getNextNonBlocked(BarrierBuffer.java:127)
> 	at org.apache.flink.streaming.runtime.io.StreamInputProcessor.processInput(StreamInputProcessor.java:173)
> 	at org.apache.flink.streaming.runtime.tasks.OneInputStreamTask.run(OneInputStreamTask.java:63)
> 	at org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:218)
> 	at org.apache.flink.runtime.taskmanager.Task.run(Task.java:562)
> 	at java.lang.Thread.run(Thread.java:745)
> Caused by: java.lang.NullPointerException
> 	at org.apache.flink.api.common.typeutils.base.LongSerializer.serialize(LongSerializer.java:63)
> 	at org.apache.flink.api.common.typeutils.base.LongSerializer.serialize(LongSerializer.java:27)
> 	at org.apache.flink.runtime.state.memory.AbstractMemState.snapshot(AbstractMemState.java:74)
> 	at org.apache.flink.runtime.state.AbstractStateBackend.snapshotPartitionedState(AbstractStateBackend.java:245)
> 	at org.apache.flink.streaming.api.operators.AbstractStreamOperator.snapshotOperatorState(AbstractStreamOperator.java:174)
> 	at org.apache.flink.streaming.api.operators.AbstractUdfStreamOperator.snapshotOperatorState(AbstractUdfStreamOperator.java:119)
> 	at org.apache.flink.streaming.runtime.tasks.StreamTask.triggerCheckpoint(StreamTask.java:470)
> 	at org.apache.flink.streaming.runtime.tasks.StreamTask$2.onEvent(StreamTask.java:648)
> 	... 8 more
> {noformat}



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