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)