[
https://issues.apache.org/jira/browse/FLINK-4460?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15905148#comment-15905148
]
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_r105402262
--- Diff:
flink-streaming-java/src/main/java/org/apache/flink/streaming/runtime/tasks/OperatorChain.java
---
@@ -539,5 +625,26 @@ public void collect(StreamRecord<T> record) {
// don't copy for the last output
outputs[outputs.length - 1].collect(record);
}
+
+ @Override
+ public <X> void collect(
+ OutputTag<?> outputTag, StreamRecord<X> record)
{
+ for (int i = 0; i < outputs.length - 1; i++) {
+ Output<StreamRecord<T>> output = outputs[i];
+
+ // due to side outputs, StreamRecords of
varying types can pass through the broadcasting
+ // collector so we need to cast
+ @SuppressWarnings({"unchecked", "rawtypes"})
+ StreamRecord<T> shallowCopy = (StreamRecord<T>)
record.copy(record.getValue());
+ output.collect(shallowCopy);
+ }
+
--- End diff --
Duplicate comment with the one inside the loop. Also the "// don't copy for
the last output" is not right because we actually create a copy before.
> 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)