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)