Return-Path: X-Original-To: apmail-flink-dev-archive@www.apache.org Delivered-To: apmail-flink-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 8636711562 for ; Tue, 12 Aug 2014 21:22:37 +0000 (UTC) Received: (qmail 48321 invoked by uid 500); 12 Aug 2014 21:22:37 -0000 Delivered-To: apmail-flink-dev-archive@flink.apache.org Received: (qmail 48268 invoked by uid 500); 12 Aug 2014 21:22:37 -0000 Mailing-List: contact dev-help@flink.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@flink.incubator.apache.org Delivered-To: mailing list dev@flink.incubator.apache.org Received: (qmail 48257 invoked by uid 99); 12 Aug 2014 21:22:37 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 12 Aug 2014 21:22:37 +0000 X-ASF-Spam-Status: No, hits=-2000.7 required=5.0 tests=ALL_TRUSTED,RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO mail.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with SMTP; Tue, 12 Aug 2014 21:22:14 +0000 Received: (qmail 47375 invoked by uid 99); 12 Aug 2014 21:22:12 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 12 Aug 2014 21:22:12 +0000 Date: Tue, 12 Aug 2014 21:22:12 +0000 (UTC) From: "Fabian Hueske (JIRA)" To: dev@flink.incubator.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Created] (FLINK-1045) Remove Combinable Annotation MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org Fabian Hueske created FLINK-1045: ------------------------------------ Summary: Remove Combinable Annotation Key: FLINK-1045 URL: https://issues.apache.org/jira/browse/FLINK-1045 Project: Flink Issue Type: Improvement Components: Java API, Scala API Reporter: Fabian Hueske Priority: Blocker Since the {{combine()}} method was extracted into an interface, we can check if a function is combinable by checking if the interface is implemented. Hence, the {{Combinable}} annotation could be removed, IMHO. However, this would change the API because {{RichGroupReduceFunction}} could no longer have a default implementation of {{combine()}} that can be enabled by attaching the annotation. Right now, the {{Combinable}} annotation is just not necessary as the implementation of the interface tells the system everything it needs to know. Removing the {{Combinable}} annotation would also make the handling of different combinable functions easier. For example a function that implements the interfaces {{GroupReduceFunction}} and {{FlatCombineFunction}} does not need to attach the annotation. Since this is not a big, but API changing change, I would like to get it into 0.6 (if we decide to do it). What do you guys think? -- This message was sent by Atlassian JIRA (v6.2#6252)