Hi Hao,
which Flink version are you using? What do you mean with "suddenly", did
it work before?
Regards,
Timo
Am 03.01.19 um 07:13 schrieb Hao Sun:
Yep, javap shows the class is there, but FlinkUserCodeClassLoaders
somehow could not find it suddenly
javap -cp /opt/flink/lib/zendesk-fps-core-assembly-0.1.0.jar
'com.zendesk.fraudprevention.examples.ConnectedStreams$$anon$90$$anon$45'
Compiled from "ConnectedStreams.scala"
public final class
com.zendesk.fraudprevention.examples.ConnectedStreams$$anon$90$$anon$45
extends
org.apache.flink.api.scala.typeutils.CaseClassSerializer<com.zendesk.fraudprevention.datatypes.MaxwellEvent>
{
public com.zendesk.fraudprevention.datatypes.MaxwellEvent
createInstance(java.lang.Object[]);
public
org.apache.flink.api.scala.typeutils.CaseClassSerializer<com.zendesk.fraudprevention.datatypes.MaxwellEvent>
createSerializerInstance(java.lang.Class<com.zendesk.fraudprevention.datatypes.MaxwellEvent>,
org.apache.flink.api.common.typeutils.TypeSerializer<?>[]);
public org.apache.flink.api.java.typeutils.runtime.TupleSerializerBase
createSerializerInstance(java.lang.Class,
org.apache.flink.api.common.typeutils.TypeSerializer[]);
public java.lang.Object createInstance(java.lang.Object[]);
public
com.zendesk.fraudprevention.examples.ConnectedStreams$$anon$90$$anon$45(com.zendesk.fraudprevention.examples.ConnectedStreams$$anon$90,
org.apache.flink.api.common.typeutils.TypeSerializer[]);
}
Hao Sun
Team Lead
1019 Market St. 7F
San Francisco, CA 94103
On Wed, Jan 2, 2019 at 6:04 PM qi luo <luoqi...@gmail.com
<mailto:luoqi...@gmail.com>> wrote:
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
<mailto: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>(http://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