You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Gyula Fora (JIRA)" <ji...@apache.org> on 2014/07/10 15:34:05 UTC

[jira] [Created] (FLINK-1021) IllegalStateException at InputGate

Gyula Fora created FLINK-1021:
---------------------------------

             Summary: IllegalStateException at InputGate
                 Key: FLINK-1021
                 URL: https://issues.apache.org/jira/browse/FLINK-1021
             Project: Flink
          Issue Type: Bug
          Components: Local Runtime
    Affects Versions: 0.6-incubating
         Environment: Linux/Windows

            Reporter: Gyula Fora


Until now, after every emit to the outputs we flushed them using the .flush() method of the recordwriter. Now we removed this flush() call and we have two interesting observations:

First of all we dont send enough records the source finishes but the output buffer never gets flushed.

Secondly if we generate a simple datastream from lets say the first 1500 numbers we get an exception in the InputGates (after lets say a hundred records): java.lang.IllegalStateException: Channel received an event before completing the current partial record.

java.lang.IllegalStateException: Channel received an event before completing the current partial record.
	at eu.stratosphere.runtime.io.channels.InputChannel.readRecord(InputChannel.java:177)
	at eu.stratosphere.runtime.io.gates.InputGate.readRecord(InputGate.java:173)
	at eu.stratosphere.streaming.api.streamcomponent.StreamRecordReader.hasNext(StreamRecordReader.java:96)
	at eu.stratosphere.streaming.api.streamcomponent.AbstractStreamComponent.invokeRecords(AbstractStreamComponent.java:255)
	at eu.stratosphere.streaming.api.streamcomponent.StreamSink.invoke(StreamSink.java:74)
	at eu.stratosphere.nephele.execution.RuntimeEnvironment.run(RuntimeEnvironment.java:260)
	at java.lang.Thread.run(Unknown Source)

To produce the error run this test: https://github.com/stratosphere/stratosphere-streaming/blob/output-flush/stratosphere-streaming-core/src/test/java/eu/stratosphere/streaming/api/PrintTest.java

Please note that this is the output-flush branch in Stratoshpere-streaming

This works perfectly if we flush the outputs after the emits.



--
This message was sent by Atlassian JIRA
(v6.2#6252)