Github user chenqin commented on the issue:

    https://github.com/apache/flink/pull/2982
  
    @aljoscha Thanks for your time. We can chat more after 1.2 release!
    
    I think it makes sense to extends Collector, even though we may not remove 
collect(T obj) due to API compability issue in 1.X. Per @fhueske comments in 
[FLIP-13 email 
thread](http://apache-flink-mailing-list-archive.1008284.n3.nabble.com/Discuss-FLIP-13-Side-Outputs-in-Flink-td14204.html)
 
    
    Only point I would like to add: there seems decent amount of refactor to 
replace underlining output chains using collect(tag, element), yet seems 
reasonable investment moving forward (multiple inputs/ multiple outputs)
    
    `tooLateEvents()` method is something added for user's convenience. should 
be fine to remove if doesn't gain much benefit. `LateArrivingTag` share same 
type as input (which is like already fixed once input type defined). Add late 
arriving tag within apply method seems redudant. In fact, without any changes 
to this diff, user also be able to access late arriving events via following 
way.
    
    `
    OutputTag<T> lateElementsOutput = new LateArrivingOutputTag<T>();
    DataStream<T> input = ...
    SingleOutputStreamOperator<O> windowed = input
      .keyBy(...)
      .window(...)
      .apply(Function);
    
    DataStream<T> lateElements = windowed.getSideOutput(lateElementsOutput);
    `
    
    Thanks,
    Chen



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to