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

Chesnay Schepler commented on FLINK-6552:
-----------------------------------------

Here's a minimal self-contained example that causes the exception to be thrown:

{code}
        private static final OutputTag<Integer> intTag = new 
OutputTag<Integer>("int") {};
        private static final OutputTag<Long> longTag = new 
OutputTag<Long>("long") {};

        public static void main(String[] args) throws Exception {
                StreamExecutionEnvironment env = 
StreamExecutionEnvironment.getExecutionEnvironment();
                SingleOutputStreamOperator out =
                        env.generateSequence(0, 100).process(new 
MyProcessFunction());

                out.getSideOutput(intTag).print();
                out.getSideOutput(longTag).print();

                env.execute();
        }

        public static class MyProcessFunction extends ProcessFunction<Long, 
String> {

                @Override
                public void processElement(Long value, Context ctx, 
Collector<String> out) throws Exception {
                }
        }
{code}

> Ambiguous error message when retrieving multiple side-outputs
> -------------------------------------------------------------
>
>                 Key: FLINK-6552
>                 URL: https://issues.apache.org/jira/browse/FLINK-6552
>             Project: Flink
>          Issue Type: Improvement
>          Components: DataStream API
>    Affects Versions: 1.3.0, 1.4.0
>            Reporter: Chesnay Schepler
>
> When calling {SingleOutputStreamOperator#getSideOutput(OutputTag<X>} multiple 
> times with the output tags having different types you get the following 
> exception:
> {code}
>  "Trying to add a side input for the same id with a different type. This is 
> not allowed." 
> {code}
> This error message is ambiguous, as it could either mean that you cannot add 
> 2 side outputs with the same name but different types or that 2 side outputs 
> with different types cannot be retrieved from a single operator.
> Furthermore, the error message contains the concept of node id's (i guess?) 
> which users aren't exposed to. This is confusing and should be reworded to 
> work with operators.
> Lastly, i find this limitation rather odd. It is possible for an operator to 
> have multiple side outputs. It is also possible to have a side output with a 
> different type than the main output. Yet, it is not possible to have multiple 
> side outputs with different types.



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

Reply via email to