Some facts are possibly related with these, since another job do not meet these expectations. The problem job use a class which contains a field of Class MapRecord, and MapRecord is defined to extend HashMap so as to accept variable json data.
Class MapRecord: @NoArgsConstructor @Slf4j public class MapRecord extends HashMap<Object, Object> implements Serializable { @Override public void setTimestamp(Long timestamp) { put("timestamp", timestamp); put("server_time", timestamp); } @Override public Long getTimestamp() { try { Object ts = getOrDefault("timestamp", getOrDefault("server_time", 0L)); return ((Number) Optional.ofNullable(ts).orElse(0L)).longValue(); } catch (Exception e) { log.error("Error, MapRecord's timestamp invalid.", e); return 0L; } } } Class UserAccessLog: public class UserAccessLog extends AbstractRecord<UserAccessLog> { private MapRecord d; // I think this is related to the problem... ... ... } 赵一旦 <hinobl...@gmail.com> 于2021年2月3日周三 下午6:43写道: > Actually the exception is different every time I stop the job. > Such as: > (1) com.esotericsoftware.kryo.KryoException: Unable to find class: g^XT > The stack as I given above. > > (2) java.lang.IndexOutOfBoundsException: Index: 46, Size: 17 > 2021-02-03 18:37:24 > java.lang.IndexOutOfBoundsException: Index: 46, Size: 17 > at java.util.ArrayList.rangeCheck(ArrayList.java:657) > at java.util.ArrayList.get(ArrayList.java:433) > at com.esotericsoftware.kryo.util.MapReferenceResolver.getReadObject( > MapReferenceResolver.java:42) > at com.esotericsoftware.kryo.Kryo.readReferenceOrNull(Kryo.java:805) > at com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:759) > 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:346) > at org.apache.flink.api.java.typeutils.runtime.PojoSerializer > .deserialize(PojoSerializer.java:411) > at org.apache.flink.streaming.runtime.streamrecord. > StreamElementSerializer.deserialize(StreamElementSerializer.java:202) > at org.apache.flink.streaming.runtime.streamrecord. > StreamElementSerializer.deserialize(StreamElementSerializer.java:46) > at org.apache.flink.runtime.plugable.NonReusingDeserializationDelegate > .read(NonReusingDeserializationDelegate.java:55) > at org.apache.flink.runtime.io.network.api.serialization. > SpillingAdaptiveSpanningRecordDeserializer.getNextRecord( > SpillingAdaptiveSpanningRecordDeserializer.java:92) > at org.apache.flink.streaming.runtime.io.StreamTaskNetworkInput > .emitNext(StreamTaskNetworkInput.java:145) > at org.apache.flink.streaming.runtime.io.StreamOneInputProcessor > .processInput(StreamOneInputProcessor.java:67) > at org.apache.flink.streaming.runtime.io.StreamTwoInputProcessor > .processInput(StreamTwoInputProcessor.java:92) > at org.apache.flink.streaming.runtime.tasks.StreamTask.processInput( > StreamTask.java:372) > at org.apache.flink.streaming.runtime.tasks.mailbox.MailboxProcessor > .runMailboxLoop(MailboxProcessor.java:186) > at org.apache.flink.streaming.runtime.tasks.StreamTask.runMailboxLoop( > StreamTask.java:575) > at org.apache.flink.streaming.runtime.tasks.StreamTask.invoke( > StreamTask.java:539) > at org.apache.flink.runtime.taskmanager.Task.doRun(Task.java:722) > at org.apache.flink.runtime.taskmanager.Task.run(Task.java:547) > at java.lang.Thread.run(Thread.java:748) > > (3) com.esotericsoftware.kryo.KryoException: Encountered unregistered > class ID: 96 > com.esotericsoftware.kryo.KryoException: Encountered unregistered class ID: > 96 > at com.esotericsoftware.kryo.util.DefaultClassResolver.readClass( > DefaultClassResolver.java:119) > at com.esotericsoftware.kryo.Kryo.readClass(Kryo.java:641) > at com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:752) > 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:346) > at org.apache.flink.api.java.typeutils.runtime.PojoSerializer > .deserialize(PojoSerializer.java:411) > at org.apache.flink.streaming.runtime.streamrecord. > StreamElementSerializer.deserialize(StreamElementSerializer.java:202) > at org.apache.flink.streaming.runtime.streamrecord. > StreamElementSerializer.deserialize(StreamElementSerializer.java:46) > at org.apache.flink.runtime.plugable.NonReusingDeserializationDelegate > .read(NonReusingDeserializationDelegate.java:55) > at org.apache.flink.runtime.io.network.api.serialization. > SpillingAdaptiveSpanningRecordDeserializer.getNextRecord( > SpillingAdaptiveSpanningRecordDeserializer.java:92) > at org.apache.flink.streaming.runtime.io.StreamTaskNetworkInput > .emitNext(StreamTaskNetworkInput.java:145) > at org.apache.flink.streaming.runtime.io.StreamOneInputProcessor > .processInput(StreamOneInputProcessor.java:67) > at org.apache.flink.streaming.runtime.io.StreamTwoInputProcessor > .processInput(StreamTwoInputProcessor.java:92) > at org.apache.flink.streaming.runtime.tasks.StreamTask.processInput( > StreamTask.java:372) > at org.apache.flink.streaming.runtime.tasks.mailbox.MailboxProcessor > .runMailboxLoop(MailboxProcessor.java:186) > at org.apache.flink.streaming.runtime.tasks.StreamTask.runMailboxLoop( > StreamTask.java:575) > at org.apache.flink.streaming.runtime.tasks.StreamTask.invoke( > StreamTask.java:539) > at org.apache.flink.runtime.taskmanager.Task.doRun(Task.java:722) > at org.apache.flink.runtime.taskmanager.Task.run(Task.java:547) > at java.lang.Thread.run(Thread.java:748) > > ... > > Till Rohrmann <trohrm...@apache.org> 于2021年2月3日周三 下午6:28写道: > >> Hi, >> >> could you show us the job you are trying to resume? Is it a SQL job or a >> DataStream job, for example? >> >> From the stack trace, it looks as if the class g^XT is not on the class >> path. >> >> Cheers, >> Till >> >> On Wed, Feb 3, 2021 at 10:30 AM 赵一旦 <hinobl...@gmail.com> wrote: >> >>> I have a job, the checkpoint and savepoint all right. >>> But, if I stop the job using 'stop -p', after the savepoint generated, >>> then the job goes to fail. Here is the log: >>> >>> 2021-02-03 16:53:55,179 WARN org.apache.flink.runtime.taskmanager.Task >>> [] - ual_ft_uid_subid_SidIncludeFilter -> >>> ual_ft_uid_subid_Default >>> PassThroughFilter[null, null) -> ual_ft_uid_subid_UalUidFtExtractor -> >>> ual_ft_uid_subid_EmptyUidFilter (17/30)#0 >>> (46abce5d1148b56094726d442df2fd9c) switched >>> from RUNNING to FAILED. >>> >>> com.esotericsoftware.kryo.KryoException: Unable to find class: g^XT >>> at >>> com.esotericsoftware.kryo.util.DefaultClassResolver.readName(DefaultClassResolver.java:138) >>> ~[flink-dist_2.11-1.12.0.jar:1.12.0] >>> at >>> com.esotericsoftware.kryo.util.DefaultClassResolver.readClass(DefaultClassResolver.java:115) >>> ~[flink-dist_2.11-1.12.0.jar:1.12.0] >>> at com.esotericsoftware.kryo.Kryo.readClass(Kryo.java:641) >>> ~[flink-dist_2.11-1.12.0.jar:1.12.0] >>> at >>> com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:752) >>> ~[flink-dist_2.11-1.12.0.jar:1.12.0] >>> at >>> com.esotericsoftware.kryo.serializers.MapSerializer.read(MapSerializer.java:143) >>> ~[flink-dist_2.11-1.12.0.jar:1.12.0] >>> at >>> com.esotericsoftware.kryo.serializers.MapSerializer.read(MapSerializer.java:21) >>> ~[flink-dist_2.11-1.12.0.jar:1.12.0] >>> at >>> com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:761) >>> ~[flink-dist_2.11-1.12.0.jar:1.12.0] >>> at >>> org.apache.flink.api.java.typeutils.runtime.kryo.KryoSerializer.deserialize(KryoSerializer.java:346) >>> ~[flink-dist_2.11-1.12.0.jar:1.12.0] >>> at >>> org.apache.flink.api.java.typeutils.runtime.PojoSerializer.deserialize(PojoSerializer.java:411) >>> ~[flink-dist_2.11-1.12.0.jar:1.12.0] >>> at >>> org.apache.flink.streaming.runtime.streamrecord.StreamElementSerializer.deserialize(StreamElementSerializer.java:202) >>> ~[flink-dist_2.11-1.12.0.jar:1.12.0] >>> at >>> org.apache.flink.streaming.runtime.streamrecord.StreamElementSerializer.deserialize(StreamElementSerializer.java:46) >>> ~[flink-dist_2.11-1.12.0.jar:1.12.0] >>> at >>> org.apache.flink.runtime.plugable.NonReusingDeserializationDelegate.read(NonReusingDeserializationDelegate.java:55) >>> ~[flink-dist_2.11-1.12.0.jar:1.12.0] >>> at >>> org.apache.flink.runtime.io.network.api.serialization.SpillingAdaptiveSpanningRecordDeserializer.getNextRecord(SpillingAdaptiveSpanningRecordDeserializer.java:92) >>> ~[flink-dist_2.11-1.12.0.jar:1.12.0] >>> at >>> org.apache.flink.streaming.runtime.io.StreamTaskNetworkInput.emitNext(StreamTaskNetworkInput.java:145) >>> ~[flink-dist_2.11-1.12.0.jar:1.12.0] >>> at >>> org.apache.flink.streaming.runtime.io.StreamOneInputProcessor.processInput(StreamOneInputProcessor.java:67) >>> ~[flink-dist_2.11-1.12.0.jar:1.12.0] >>> at >>> org.apache.flink.streaming.runtime.io.StreamTwoInputProcessor.processInput(StreamTwoInputProcessor.java:92) >>> ~[flink-dist_2.11-1.12.0.jar:1.12.0] >>> at >>> org.apache.flink.streaming.runtime.tasks.StreamTask.processInput(StreamTask.java:372) >>> ~[flink-dist_2.11-1.12.0.jar:1.12.0] >>> at >>> org.apache.flink.streaming.runtime.tasks.mailbox.MailboxProcessor.runMailboxLoop(MailboxProcessor.java:186) >>> ~[flink-dist_2.11-1.12.0.jar:1.12.0] >>> at >>> org.apache.flink.streaming.runtime.tasks.StreamTask.runMailboxLoop(StreamTask.java:575) >>> ~[flink-dist_2.11-1.12.0.jar:1.12.0] >>> at >>> org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:539) >>> ~[flink-dist_2.11-1.12.0.jar:1.12.0] >>> at >>> org.apache.flink.runtime.taskmanager.Task.doRun(Task.java:722) >>> [flink-dist_2.11-1.12.0.jar:1.12.0] >>> at org.apache.flink.runtime.taskmanager.Task.run(Task.java:547) >>> [flink-dist_2.11-1.12.0.jar:1.12.0] >>> at java.lang.Thread.run(Thread.java:748) [?:1.8.0_251] >>> Caused by: java.lang.ClassNotFoundException: g^XT >>> at java.net.URLClassLoader.findClass(URLClassLoader.java:382) >>> ~[?:1.8.0_251] >>> at java.lang.ClassLoader.loadClass(ClassLoader.java:418) >>> ~[?:1.8.0_251] >>> at >>> org.apache.flink.util.FlinkUserCodeClassLoader.loadClassWithoutExceptionHandling(FlinkUserCodeClassLoader.java:63) >>> ~[flink-dist_2.11-1.12.0.jar:1.12.0] >>> at >>> org.apache.flink.util.ChildFirstClassLoader.loadClassWithoutExceptionHandling(ChildFirstClassLoader.java:72) >>> ~[flink-dist_2.11-1.12.0.jar:1.12.0] >>> at >>> org.apache.flink.util.FlinkUserCodeClassLoader.loadClass(FlinkUserCodeClassLoader.java:49) >>> ~[flink-dist_2.11-1.12.0.jar:1.12.0] >>> at java.lang.ClassLoader.loadClass(ClassLoader.java:351) >>> ~[?:1.8.0_251] >>> at >>> org.apache.flink.runtime.execution.librarycache.FlinkUserCodeClassLoaders$SafetyNetWrapperClassLoader.loadClass(FlinkUserCodeClassLoaders.java:168) >>> ~[flink-dist_2.11-1.12.0.jar:1.12.0] >>> at java.lang.Class.forName0(Native Method) ~[?:1.8.0_251] >>> at java.lang.Class.forName(Class.java:348) ~[?:1.8.0_251] >>> at >>> com.esotericsoftware.kryo.util.DefaultClassResolver.readName(DefaultClassResolver.java:136) >>> ~[flink-dist_2.11-1.12.0.jar:1.12.0] >>> ... 22 more >>> >>>