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)

Reply via email to