Aljoscha Krettek created FLINK-2009:
---------------------------------------
Summary: Time-Based Windows fail with Chaining Disabled
Key: FLINK-2009
URL: https://issues.apache.org/jira/browse/FLINK-2009
Project: Flink
Issue Type: Bug
Components: Streaming
Reporter: Aljoscha Krettek
When disabling chaining a streaming job with a time-based window fails right
away with this:
{code}
14:17:50,917 ERROR org.apache.flink.streaming.api.collector.StreamOutput
- Emit failed due to: org.apache.flink.types.NullFieldException: Field 0 is
null, but expected to hold a value.
at
org.apache.flink.api.java.typeutils.runtime.TupleSerializer.serialize(TupleSerializer.java:118)
at
org.apache.flink.api.java.typeutils.runtime.TupleSerializer.serialize(TupleSerializer.java:30)
at
org.apache.flink.streaming.runtime.streamrecord.StreamRecordSerializer.serialize(StreamRecordSerializer.java:89)
at
org.apache.flink.streaming.runtime.streamrecord.StreamRecordSerializer.serialize(StreamRecordSerializer.java:29)
at
org.apache.flink.runtime.plugable.SerializationDelegate.write(SerializationDelegate.java:51)
at
org.apache.flink.runtime.io.network.api.serialization.SpanningRecordSerializer.addRecord(SpanningRecordSerializer.java:76)
at
org.apache.flink.runtime.io.network.api.writer.RecordWriter.emit(RecordWriter.java:83)
at
org.apache.flink.streaming.api.collector.StreamOutput.collect(StreamOutput.java:63)
at
org.apache.flink.streaming.api.collector.CollectorWrapper.collect(CollectorWrapper.java:39)
at
org.apache.flink.streaming.api.operators.windowing.StreamDiscretizer.emitWindow(StreamDiscretizer.java:143)
at
org.apache.flink.streaming.api.operators.windowing.StreamDiscretizer.triggerOnFakeElement(StreamDiscretizer.java:131)
at
org.apache.flink.streaming.api.operators.windowing.StreamDiscretizer$WindowingCallback.sendFakeElement(StreamDiscretizer.java:194)
at
org.apache.flink.streaming.api.windowing.policy.TimeTriggerPolicy.activeFakeElementEmission(TimeTriggerPolicy.java:121)
at
org.apache.flink.streaming.api.windowing.policy.TimeTriggerPolicy$TimeCheck.run(TimeTriggerPolicy.java:148)
at java.lang.Thread.run(Thread.java:745)
{code}
I assume it is because the window events that get emitted for fake elements are
not properly filled. This does not surface if chaining is enabled because then
the window events don't pass through the serialisation stack.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)