Return-Path: X-Original-To: apmail-flink-issues-archive@minotaur.apache.org Delivered-To: apmail-flink-issues-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 14F18189B3 for ; Fri, 12 Feb 2016 16:40:20 +0000 (UTC) Received: (qmail 16312 invoked by uid 500); 12 Feb 2016 16:40:18 -0000 Delivered-To: apmail-flink-issues-archive@flink.apache.org Received: (qmail 16149 invoked by uid 500); 12 Feb 2016 16:40:18 -0000 Mailing-List: contact issues-help@flink.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@flink.apache.org Delivered-To: mailing list issues@flink.apache.org Received: (qmail 15858 invoked by uid 99); 12 Feb 2016 16:40:18 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 12 Feb 2016 16:40:18 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id 382812C1F64 for ; Fri, 12 Feb 2016 16:40:18 +0000 (UTC) Date: Fri, 12 Feb 2016 16:40:18 +0000 (UTC) From: "Gabor Gevay (JIRA)" To: issues@flink.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (FLINK-3394) Clear up the contract of MutableObjectIterator.next(reuse) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/FLINK-3394?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Gabor Gevay updated FLINK-3394: ------------------------------- Description: {{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 was: {{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 > 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 > 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)