[jira] [Created] (FLINK-1045) Remove Combinable Annotation

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Created] (FLINK-1045) Remove Combinable Annotation

Shang Yuanchun (Jira)
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)