[ 
https://issues.apache.org/jira/browse/FLINK-4460?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15925922#comment-15925922
 ] 

ASF GitHub Bot commented on FLINK-4460:
---------------------------------------

Github user kl0u commented on a diff in the pull request:

    https://github.com/apache/flink/pull/3484#discussion_r106139449
  
    --- Diff: 
flink-streaming-java/src/main/java/org/apache/flink/streaming/runtime/tasks/OperatorChain.java
 ---
    @@ -387,18 +401,49 @@ public int getChainLength() {
     
                protected final StreamStatusProvider streamStatusProvider;
     
    -           public ChainingOutput(OneInputStreamOperator<T, ?> operator, 
StreamStatusProvider streamStatusProvider) {
    +           protected final OutputTag<T> outputTag;
    +
    +           public ChainingOutput(
    +                           OneInputStreamOperator<T, ?> operator,
    +                           StreamStatusProvider streamStatusProvider,
    +                           OutputTag<T> outputTag) {
                        this.operator = operator;
                        this.numRecordsIn = ((OperatorMetricGroup) 
operator.getMetricGroup()).getIOMetricGroup().getNumRecordsInCounter();
                        this.streamStatusProvider = streamStatusProvider;
    +                   this.outputTag = outputTag;
                }
     
                @Override
                public void collect(StreamRecord<T> record) {
    +                   if (this.outputTag != null) {
    +                           // we are only responsible for emitting to the 
main input
    +                           return;
    +                   }
    +
    +                   pushToOperator(record);
    +           }
    +
    +           @Override
    +           public <X> void collect(OutputTag<?> outputTag, StreamRecord<X> 
record) {
    +                   if (this.outputTag == null || 
!this.outputTag.equals(outputTag)) {
    +                           // we are only responsible for emitting to the 
side-output specified by our
    +                           // OutputTag.
    +                           return;
    +                   }
    +
    +                   pushToOperator(record);
    +           }
    +
    --- End diff --
    
    This can become `private` as the copying alternative has its own 
implementation, right?


> Side Outputs in Flink
> ---------------------
>
>                 Key: FLINK-4460
>                 URL: https://issues.apache.org/jira/browse/FLINK-4460
>             Project: Flink
>          Issue Type: New Feature
>          Components: Core, DataStream API
>    Affects Versions: 1.2.0, 1.1.3
>            Reporter: Chen Qin
>            Assignee: Chen Qin
>              Labels: latearrivingevents, sideoutput
>
> https://docs.google.com/document/d/1vg1gpR8JL4dM07Yu4NyerQhhVvBlde5qdqnuJv4LcV4/edit?usp=sharing



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to