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 2016/02/09 22:02:18 UTC

[jira] [Commented] (FLINK-3335) Fix DataSourceTask object reuse when disabled

    [ https://issues.apache.org/jira/browse/FLINK-3335?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15139749#comment-15139749 ] 

ASF GitHub Bot commented on FLINK-3335:
---------------------------------------

GitHub user greghogan opened a pull request:

    https://github.com/apache/flink/pull/1616

    [FLINK-3335] [runtime] Fix DataSourceTask object reuse when disabled

    When object reuse is disabled, `DataSourceTask` now copies objects received from the `InputFormat` to prevent the collection of reused objects.
    
    An example where this is necessary is a `DataSet` created from a user implementation of `Iterator` which reuses a local object returned from `Iterator.next`.
    
    Also, when object reuse is enabled, the cycling among three objects has been removed. I had added this a few months ago when starting to resolve an issue with reduce drivers.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/greghogan/flink 3335_fix_datasourcetask_object_reuse_when_disabled

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/flink/pull/1616.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 #1616
    
----
commit 2678b9315a28ce27d888c7be53e5cce13b1afb35
Author: Greg Hogan <co...@greghogan.com>
Date:   2016-02-09T13:18:28Z

    [FLINK-3335] [runtime] Fix DataSourceTask object reuse when disabled
    
    When object reuse is disabled, DataSourceTask now copies objects received from
    the InputFormat to prevent the collection of reused objects.

----


> Fix DataSourceTask object reuse when disabled
> ---------------------------------------------
>
>                 Key: FLINK-3335
>                 URL: https://issues.apache.org/jira/browse/FLINK-3335
>             Project: Flink
>          Issue Type: Bug
>          Components: Distributed Runtime
>    Affects Versions: 1.0.0
>            Reporter: Greg Hogan
>            Assignee: Greg Hogan
>
> From {{DataSourceTask.invoke()}}:
> {code}
> if ((returned = format.nextRecord(serializer.createInstance())) != null) {
>     output.collect(returned);
> }
> {code}
> The returned value ({{returned}}) must be copied rather than creating and passing in a new instance. The {{InputFormat}} interface only permits the given object to be used and does not require a new object to be returned otherwise.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)