Kostas Kloudas created FLINK-8090:
-------------------------------------

             Summary: An operator should not be able to register two states 
with the same name.
                 Key: FLINK-8090
                 URL: https://issues.apache.org/jira/browse/FLINK-8090
             Project: Flink
          Issue Type: Bug
          Components: DataStream API
    Affects Versions: 1.4.0
            Reporter: Kostas Kloudas


Currently a {{ProcessFunction}} like this is a valid job:

{code}
new ProcessFunction<Tuple2<Integer, Long>, Object>() {
                                private static final long serialVersionUID = 
-805125545438296619L;

                                private transient MapState<Integer, 
Tuple2<Integer, Long>> firstMapState;
                                private transient MapState<Integer, 
Tuple2<Integer, Long>> secondMapState;

                                @Override
                                public void open(Configuration parameters) 
throws Exception {
                                        super.open(parameters);
                                        firstMapState = 
getRuntimeContext().getMapState(firstMapStateDescriptor);
                                        secondMapState = 
getRuntimeContext().getMapState(secondMapStateDescriptor);
                                }

                                @Override
                                public void processElement(Tuple2<Integer, 
Long> value, Context ctx, Collector<Object> out) throws Exception {
                                        Tuple2<Integer, Long> v = 
firstMapState.get(value.f0);
                                        if (v == null) {
                                                v = new Tuple2<>(value.f0, 0L);
                                        }
                                        System.out.println(value);
                                        firstMapState.put(value.f0, new 
Tuple2<>(v.f0, v.f1 + value.f1));
                                }
                        }
{code}

This should not be the case, and the job should fail with an adequate message.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to