[ https://issues.apache.org/jira/browse/FLINK-7423?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16122926#comment-16122926 ]
ASF GitHub Bot commented on FLINK-7423: --------------------------------------- GitHub user XuPingyong opened a pull request: https://github.com/apache/flink/pull/4525 [FLINK-7423] Always reuse an instance to get elements from the inputFormat ## What is the purpose of the change This pull request fix a bug about getting elements from the inputFormat in InputFormatSourceFunction.java ## Verifying this change This change added tests and can be verified as follows: - *Added test in InputFormatSourceFunctionTest* ## Does this pull request potentially affect one of the following parts: - Dependencies (does it add or upgrade a dependency): (no) - The public API, i.e., is any changed class annotated with `@Public(Evolving)`: (no) - The serializers: (no) - The runtime per-record code paths (performance sensitive): (no) - Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (no) ## Documentation - Does this pull request introduce a new feature? (no) You can merge this pull request into a Git repository by running: $ git pull https://github.com/XuPingyong/flink FLINK-7423 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/flink/pull/4525.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #4525 ---- commit ddca0f9d258eed4bc69bf931aebc1bbde385c799 Author: pingyong.xpy <pingyong....@alibaba-inc.com> Date: 2017-08-11T06:09:12Z [FLINK-7423] Always reuse an instance to get elements from the inputFormat ---- > Always reuse an instance to get elements from the inputFormat > --------------------------------------------------------------- > > Key: FLINK-7423 > URL: https://issues.apache.org/jira/browse/FLINK-7423 > Project: Flink > Issue Type: Bug > Components: Streaming > 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)