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)