Hi Hao, Since Flink is using Child-First class loader, you may try search for the class "com.zendesk.fraudprevention.examples.ConnectedStreams$$anon$90$$anon$45” in your fat JAR. Is that an inner class?
Best, Qi > On Jan 3, 2019, at 7:01 AM, Hao Sun <ha...@zendesk.com> wrote: > > Hi, > > I am wondering if there are any protips to figure out what class is not found? > > ===== Logs ==== > org.apache.flink.streaming.runtime.tasks.StreamTaskException: Could not > instantiate chained outputs. > at > org.apache.flink.streaming.api.graph.StreamConfig.getChainedOutputs(StreamConfig.java:324) > at > org.apache.flink.streaming.runtime.tasks.OperatorChain.createOutputCollector(OperatorChain.java:292) > at > org.apache.flink.streaming.runtime.tasks.OperatorChain.<init>(OperatorChain.java:133) > at > org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:267) > at org.apache.flink.runtime.taskmanager.Task.run(Task.java:704) > at java.lang.Thread.run(Thread.java:748) > Caused by: java.lang.ClassNotFoundException: > com.zendesk.fraudprevention.examples.ConnectedStreams$$anon$90$$anon$45 > at java.net.URLClassLoader.findClass(URLClassLoader.java:381) > at java.lang.ClassLoader.loadClass(ClassLoader.java:424) > at > org.apache.flink.runtime.execution.librarycache.FlinkUserCodeClassLoaders$ChildFirstClassLoader.loadClass(FlinkUserCodeClassLoaders.java:129) > at java.lang.ClassLoader.loadClass(ClassLoader.java:357) > at java.lang.Class.forName0(Native Method) > at java.lang.Class.forName(Class.java:348) > at > org.apache.flink.util.InstantiationUtil$ClassLoaderObjectInputStream.resolveClass(InstantiationUtil.java:77) > at > java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1866) > at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1749) > at > java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2040) > at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1571) > at > java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2285) > at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2209) > at > java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2067) > at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1571) > at > java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2285) > at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2209) > at > java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2067) > at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1571) > at java.io.ObjectInputStream.readObject(ObjectInputStream.java:431) > at java.util.ArrayList.readObject(ArrayList.java:797) > at sun.reflect.GeneratedMethodAccessor26.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1158) > at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2176) > at > java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2067) > at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1571) > at java.io.ObjectInputStream.readObject(ObjectInputStream.java:431) > at > org.apache.flink.util.InstantiationUtil.deserializeObject(InstantiationUtil.java:524) > at > org.apache.flink.util.InstantiationUtil.deserializeObject(InstantiationUtil.java:510) > at > org.apache.flink.util.InstantiationUtil.deserializeObject(InstantiationUtil.java:498) > at > org.apache.flink.util.InstantiationUtil.readObjectFromConfig(InstantiationUtil.java:459) > at > org.apache.flink.streaming.api.graph.StreamConfig.getChainedOutputs(StreamConfig.java:321) > ... 5 more > > > Hao Sun > Team Lead > 1019 Market St. 7F > San Francisco, CA 94103