Are you using ObjectMapper as a non-transient field? If so, please make it transient and initialize in open() of a Rich*Function.
On Fri, Nov 20, 2020 at 7:56 PM Alexander Bagerman <bager...@gmail.com> wrote: > Hi, > I added my custom jar (that includes dependencies on Jackson) to Flink > classpath. It seems to be loaded just fine. But when the job starts I am > getting an exception below. I am sure how to interpret the exception though > and would appreciate it if somebody gives me advice on it. > Thanks > Alex > > 2020-11-20 18:34:35,643 WARN org.apache.flink.runtime.taskmanager.Task [] > - Source: Custom Source -> Flat Map -> Flat Map -> Sink: Unnamed (1/1) > (dcbf799dadba5d4b7e7f5af15919a4b6) switched from RUNNING to FAILED. > org.apache.flink.streaming.runtime.tasks.StreamTaskException: Cannot > instantiate user function. > at org.apache.flink.streaming.api.graph.StreamConfig > .getStreamOperatorFactory(StreamConfig.java:275) ~[flink-dist_2.11-1.11.2 > .jar:1.11.2] > at org.apache.flink.streaming.runtime.tasks.OperatorChain > .createChainedOperator(OperatorChain.java:471) ~[flink-dist_2.11-1.11.2 > .jar:1.11.2] > at org.apache.flink.streaming.runtime.tasks.OperatorChain > .createOutputCollector(OperatorChain.java:393) ~[flink-dist_2.11-1.11.2 > .jar:1.11.2] > at org.apache.flink.streaming.runtime.tasks.OperatorChain.<init>( > OperatorChain.java:155) ~[flink-dist_2.11-1.11.2.jar:1.11.2] > at org.apache.flink.streaming.runtime.tasks.StreamTask.beforeInvoke( > StreamTask.java:459) ~[flink-dist_2.11-1.11.2.jar:1.11.2] > at org.apache.flink.streaming.runtime.tasks.StreamTask.invoke( > StreamTask.java:528) ~[flink-dist_2.11-1.11.2.jar:1.11.2] > at org.apache.flink.runtime.taskmanager.Task.doRun(Task.java:721) > [flink-dist_2.11-1.11.2.jar:1.11.2] > at org.apache.flink.runtime.taskmanager.Task.run(Task.java:546) > [flink-dist_2.11-1.11.2.jar:1.11.2] > at java.lang.Thread.run(Thread.java:748) [?:1.8.0_265] > Caused by: java.lang.ClassCastException: cannot assign instance of > java.util.concurrent.ConcurrentHashMap to field > com.fasterxml.jackson.databind.deser.DeserializerCache._cachedDeserializers > of type com.fasterxml.jackson.databind.util.LRUMap in instance of > com.fasterxml.jackson.databind.deser.DeserializerCache > at java.io.ObjectStreamClass$FieldReflector.setObjFieldValues( > ObjectStreamClass.java:2301) ~[?:1.8.0_265] > at java.io.ObjectStreamClass.setObjFieldValues(ObjectStreamClass.java: > 1431) ~[?:1.8.0_265] > at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java: > 2372) ~[?:1.8.0_265] > at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java: > 2290) ~[?:1.8.0_265] > at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream > .java:2148) ~[?:1.8.0_265] > at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1647) > ~[?:1.8.0_265] > at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java: > 2366) ~[?:1.8.0_265] > at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java: > 2290) ~[?:1.8.0_265] > at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream > .java:2148) ~[?:1.8.0_265] > at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1647) > ~[?:1.8.0_265] > at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java: > 2366) ~[?:1.8.0_265] > at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java: > 2290) ~[?:1.8.0_265] > at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream > .java:2148) ~[?:1.8.0_265] > at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1647) > ~[?:1.8.0_265] > at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java: > 2366) ~[?:1.8.0_265] > at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java: > 2290) ~[?:1.8.0_265] > at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream > .java:2148) ~[?:1.8.0_265] > at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1647) > ~[?:1.8.0_265] > at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java: > 2366) ~[?:1.8.0_265] > at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java: > 2290) ~[?:1.8.0_265] > at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream > .java:2148) ~[?:1.8.0_265] > at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1647) > ~[?:1.8.0_265] > at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java: > 2366) ~[?:1.8.0_265] > at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java: > 2290) ~[?:1.8.0_265] > at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream > .java:2148) ~[?:1.8.0_265] > at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1647) > ~[?:1.8.0_265] > at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java: > 2366) ~[?:1.8.0_265] > at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java: > 2290) ~[?:1.8.0_265] > at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream > .java:2148) ~[?:1.8.0_265] > at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1647) > ~[?:1.8.0_265] > at java.io.ObjectInputStream.readObject(ObjectInputStream.java:483) > ~[?:1.8.0_265] > at java.io.ObjectInputStream.readObject(ObjectInputStream.java:441) > ~[?:1.8.0_265] > at org.apache.flink.util.InstantiationUtil.deserializeObject( > InstantiationUtil.java:576) ~[flink-dist_2.11-1.11.2.jar:1.11.2] > at org.apache.flink.util.InstantiationUtil.deserializeObject( > InstantiationUtil.java:562) ~[flink-dist_2.11-1.11.2.jar:1.11.2] > at org.apache.flink.util.InstantiationUtil.deserializeObject( > InstantiationUtil.java:550) ~[flink-dist_2.11-1.11.2.jar:1.11.2] > at org.apache.flink.util.InstantiationUtil.readObjectFromConfig( > InstantiationUtil.java:511) ~[flink-dist_2.11-1.11.2.jar:1.11.2] > at org.apache.flink.streaming.api.graph.StreamConfig > .getStreamOperatorFactory(StreamConfig.java:260) ~[flink-dist_2.11-1.11.2 > .jar:1.11.2] > ... 8 more > -- Arvid Heise | Senior Java Developer <https://www.ververica.com/> Follow us @VervericaData -- Join Flink Forward <https://flink-forward.org/> - The Apache Flink Conference Stream Processing | Event Driven | Real Time -- Ververica GmbH | Invalidenstrasse 115, 10115 Berlin, Germany -- Ververica GmbH Registered at Amtsgericht Charlottenburg: HRB 158244 B Managing Directors: Timothy Alexander Steinert, Yip Park Tung Jason, Ji (Toni) Cheng