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)