[ 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)