Adding another abstract method to Collector interface is also considerably
easier from API backward compatibility point of view.

The cost could be either

1) many class with empty implementation of *<S> void collect(OutputTag<S>
tag, S value) *method

2) split streamrecord related classes that implement Collector interface
from graph generator related classes. For streamrecord ones, we might be
able to implement *collect(T out)* by calling *<S> void
collect(OutputTag<S> tag, S value). *For graph generator keep it as it is.


On Wed, Nov 2, 2016 at 8:14 PM, Chen Qin <c...@uber.com> wrote:

> Hi Fabian
>
> Thanks for your feedback. sorry for late reply.
> Some of comments inline. Will update FLIP-13 wiki reflect your comments.
>
>
> - Will multiple side outputs of the same type be supported?
>
> > It wasn't implemented in prototype. But should be easy to support, we
> have unique id in stream record.
>
> - If I got it right, the FLIP proposes to change the signatures of many
>
> user-defined functions (FlatMapFunction, WindowFunction, ...). Most of
>
> these interfaces/classes are annotated with @Public, which means we cannot
>
> change them in the Flink 1.x release line. What would be alternatives? I
>
> can think of
> a) casting the Collector into a RichCollector (as you do in
>
> your prototype) or
> > This is like a private magic API. Should be 100% compatible but not good
> implementation.
>
> b) retrieve the RichCollector from the RuntimeContext
>
> > It seems better option, yet many highly used Function like FlatMap will
> not get support. To get support, we need to create some redundant classes
> inherited from RichFunction( like implement RichFlatMap etc) [we might put
> these in different package and isolate impact of this change)
>
> that a RichFunction provides.
>
>
> I'm not so familiar with the internals of the DataStream API, so I leave
>
> comments on that to other.
>
>
> Best, Fabian
>
> On Tue, Oct 25, 2016 at 9:00 AM, Chen Qin <c...@uber.com> wrote:
>
>> Hey folks,
>>
>> Please give feedback on FLIP-13!
>> https://cwiki.apache.org/confluence/display/FLINK/FLIP-13+
>> Side+Outputs+in+Flink
>> JIRA task link to google doc https://issues.apache.org/
>> jira/browse/FLINK-4460
>>
>> Thanks,
>> Chen Qin
>>
>
>
>
> --
> -Chen Qin
>



-- 
-Chen Qin

Reply via email to