You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2017/08/11 06:34:00 UTC
[jira] [Commented] (FLINK-7423) Always reuse an instance to get
elements from the inputFormat
[ 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 <pi...@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)