Hi guys, I have the flink streaming job running (1.2.0 version) which has the following state:
private transient ValueState<Map<String, Set<User>>> userState; With following configuration: final ValueStateDescriptor<Map<String, Set<User>>> descriptor = new ValueStateDescriptor<>("userState", TypeInformation.of(new UserTypeHint())); userState = getRuntimeContext().getState(descriptor); And the User class has following: public class User { private String id; private String firstName; private String lastName; } And after some time we tried to add one more field in the user object. (for example emailAddress). But apparently I didn't work, I am getting following exception: 018-03-13 13:26:13,357 INFO org.apache.flink.runtime.executiongraph.ExecutionGraph - Job CountJob (cbada55d435571e8b24313196204f8ab) switched from state RUNNING to FAILING. com.esotericsoftware.kryo.KryoException: java.lang.IndexOutOfBoundsException: Index: 58, Size: 4 Serialization trace: type (com.example.User) at com.esotericsoftware.kryo.serializers.ObjectField.read(ObjectField.java:125) at com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:528) at com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:761) at com.esotericsoftware.kryo.serializers.MapSerializer.read(MapSerializer.java:135) at com.esotericsoftware.kryo.serializers.MapSerializer.read(MapSerializer.java:21) at com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:761) at org.apache.flink.api.java.typeutils.runtime.kryo.KryoSerializer.deserialize(KryoSerializer.java:250) at org.apache.flink.contrib.streaming.state.RocksDBValueState.value(RocksDBValueState.java:82) at com.example.TimestampUserCoFlatMapFunction.flatMap1(TimestampUserCoFlatMapFunction.java:33) at com.example.TimestampUserCoFlatMapFunction.flatMap1(TimestampUserCoFlatMapFunction.java:27) at org.apache.flink.streaming.api.operators.co.CoStreamFlatMap.processElement1(CoStreamFlatMap.java:53) at org.apache.flink.streaming.runtime.io.StreamTwoInputProcessor.processInput(StreamTwoInputProcessor.java:242) at org.apache.flink.streaming.runtime.tasks.TwoInputStreamTask.run(TwoInputStreamTask.java:91) at org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:263) at org.apache.flink.runtime.taskmanager.Task.run(Task.java:702) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.IndexOutOfBoundsException: Index: 58, Size: 4 at java.util.ArrayList.rangeCheck(ArrayList.java:653) at java.util.ArrayList.get(ArrayList.java:429) at com.esotericsoftware.kryo.util.MapReferenceResolver.getReadObject(MapReferenceResolver.java:42) at com.esotericsoftware.kryo.Kryo.readReferenceOrNull(Kryo.java:805) at com.esotericsoftware.kryo.Kryo.readObjectOrNull(Kryo.java:728) at com.esotericsoftware.kryo.serializers.ObjectField.read(ObjectField.java:113) ... 15 more Thanks, Konstantin -- Sent from: http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/