You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Gabor Gevay (JIRA)" <ji...@apache.org> on 2016/08/21 16:13:20 UTC

[jira] [Updated] (FLINK-3394) Clear up the contract of MutableObjectIterator.next(reuse)

     [ https://issues.apache.org/jira/browse/FLINK-3394?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gabor Gevay updated FLINK-3394:
-------------------------------
    Component/s:     (was: Distributed Coordination)
                 Local Runtime

> Clear up the contract of MutableObjectIterator.next(reuse)
> ----------------------------------------------------------
>
>                 Key: FLINK-3394
>                 URL: https://issues.apache.org/jira/browse/FLINK-3394
>             Project: Flink
>          Issue Type: Bug
>          Components: Local Runtime
>    Affects Versions: 1.0.0
>            Reporter: Gabor Gevay
>            Priority: Critical
>             Fix For: 1.0.0
>
>
> {{MutableObjectIterator.next(reuse)}} has the following contract (according to [~StephanEwen]'s comment \[1\]):
> 1. The caller may not hold onto {{reuse}} any more
> 2. The iterator implementor may not hold onto the returned object any more.
> This should be documented in its javadoc (with "WARNING" so that people don't overlook it).
> Additionally, since this was a "secret contract" up to now, all the 270 usages of {{MutableObjectIterator.next(reuse)}} should be checked for violations. A few that are suspicious at first glance, are in {{CrossDriver}}, {{UnionWithTempOperator}}, {{MutableHashTable.ProbeIterator.next}}, {{ReusingBuildFirstHashJoinIterator.callWithNextKey}}. (The violating calls in the reduce drivers are being fixed by https://github.com/apache/flink/pull/1626 )
> \[1\] https://issues.apache.org/jira/browse/FLINK-3291?focusedCommentId=15144654&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15144654



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