You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flink.apache.org by "Gabor Gevay (JIRA)" <ji...@apache.org> on 2016/02/12 17:30:18 UTC
[jira] [Created] (FLINK-3394) Clear up the contract of
MutableObjectIterator.next(reuse)
Gabor Gevay created FLINK-3394:
----------------------------------
Summary: 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: Distributed Runtime
Affects Versions: 1.0.0
Reporter: Gabor Gevay
Priority: Critical
{{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}}.
\[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)