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

Reply via email to