Hi Liting, Did you ever change your defined class, e.g. xxx.SparkIdentifiers, xxx.ServiceEvent, xxx.Event and so on?
Or did you change your flink program? Kryo serializer needs to register class for serialization, which is not friendly for version upgrade. Moreover, except from the compatibility problem, we also suggest you to use customized serializers for your customized class for better performance. Best Yun Tang ________________________________ From: Liting Liu (litiliu) <liti...@cisco.com> Sent: Friday, May 6, 2022 10:20 To: user@flink.apache.org <user@flink.apache.org> Subject: Failed to restore from ck, because of KryoException Hi, We are using flink 1.14.3. But when the job try to restart from checkPoint, the following exception accour. What's wrong? And how can i avoid it? Caused by: TimerException{com.esotericsoftware.kryo.KryoException: java.lang.IndexOutOfBoundsException: Index: 99, Size: 9 Serialization trace: webexSiteName (com.cisco.wx2.diagnostic_events.SparkIdentifiers) identifiers (com.cisco.wx2.diagnostic_events.ServiceEvent) event (com.cisco.wx2.diagnostic_events.Event)} ... 14 more Caused by: com.esotericsoftware.kryo.KryoException: java.lang.IndexOutOfBoundsException: Index: 99, Size: 9 Serialization trace: webexSiteName (com.cisco.wx2.diagnostic_events.SparkIdentifiers) identifiers (com.cisco.wx2.diagnostic_events.ServiceEvent) event (com.cisco.wx2.diagnostic_events.Event) 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.readObject(Kryo.java:679) at com.esotericsoftware.kryo.serializers.ObjectField.read(ObjectField.java:106) at com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:528) at com.esotericsoftware.kryo.Kryo.readObject(Kryo.java:679) at com.esotericsoftware.kryo.serializers.ObjectField.read(ObjectField.java:106) at com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:528) at com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:761) at org.apache.flink.api.java.typeutils.runtime.kryo.KryoSerializer.deserialize(KryoSerializer.java:354) at org.apache.flink.contrib.streaming.state.RocksDBMapState.deserializeUserValue(RocksDBMapState.java:394) at org.apache.flink.contrib.streaming.state.RocksDBMapState.access$100(RocksDBMapState.java:65) at org.apache.flink.contrib.streaming.state.RocksDBMapState$RocksDBMapEntry.getValue(RocksDBMapState.java:502) at org.apache.flink.contrib.streaming.state.RocksDBMapState$2.next(RocksDBMapState.java:217) at scala.collection.convert.Wrappers$JIteratorWrapper.next(Wrappers.scala:43) at scala.collection.IterableLike$class.head(IterableLike.scala:107) at scala.collection.AbstractIterable.head(Iterable.scala:54) at com.cisco.wx2.flink.functions.UnifiedClientJoinAnalysisWindowFunction$$anonfun$buildAnalysisPipeline$1.apply(UnifiedClientJoinAnalysisWindowFunction.scala:170) at com.cisco.wx2.flink.functions.UnifiedClientJoinAnalysisWindowFunction$$anonfun$buildAnalysisPipeline$1.apply(UnifiedClientJoinAnalysisWindowFunction.scala:170) at scala.Option.foreach(Option.scala:257)