You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Xu Pingyong (JIRA)" <ji...@apache.org> on 2017/08/11 04:11:00 UTC

[jira] [Created] (FLINK-7423) Always reuse an instance to get elements from an inputFormat

Xu Pingyong created FLINK-7423:
----------------------------------

             Summary: Always reuse an instance  to get elements from an inputFormat 
                 Key: FLINK-7423
                 URL: https://issues.apache.org/jira/browse/FLINK-7423
             Project: Flink
          Issue Type: Bug
            Reporter: Xu Pingyong
            Assignee: Xu Pingyong


In InputFormatSourceFunction.java:


{code:java}
OUT nextElement = serializer.createInstance();
			while (isRunning) {
				format.open(splitIterator.next());

				// for each element we also check if cancel
				// was called by checking the isRunning flag

				while (isRunning && !format.reachedEnd()) {
					nextElement = format.nextRecord(nextElement);
					if (nextElement != null) {
						ctx.collect(nextElement);
					} else {
						break;
					}
				}
				format.close();
				completedSplitsCounter.inc();

				if (isRunning) {
					isRunning = splitIterator.hasNext();
				}
			}
{code}

the format may return other element or null when nextRecord, that will may cause exception.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)