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)