Yes, the jar contains the class: $ jar -tf lumiata-evaluation-assembly-1.0.jar | grep 2028/Document/Document com/i2028/Document/Document$1.class com/i2028/Document/Document.class
What else can I do? Is there any way to get more information about the classes available to the particular classloader kryo is using? On Tue, Sep 8, 2015 at 6:34 AM Igor Berman <igor.ber...@gmail.com> wrote: > java.lang.ClassNotFoundException: com.i2028.Document.Document > > 1. so have you checked that jar that you create(fat jar) contains this class? > > 2. might be there is some stale cache issue...not sure though > > > On 8 September 2015 at 16:12, Nicholas R. Peterson <nrpeter...@gmail.com> > wrote: > >> Here is the stack trace: (Sorry for the duplicate, Igor -- I forgot to >> include the list.) >> >> >> 15/09/08 05:56:43 WARN scheduler.TaskSetManager: Lost task 183.0 in stage >> 41.0 (TID 193386, ds-compute2.lumiata.com): java.io.IOException: >> com.esotericsoftware.kryo.KryoException: Error constructing instance of >> class: com.lumiata.patientanalysis.utils.CachedGraph >> at org.apache.spark.util.Utils$.tryOrIOException(Utils.scala:1257) >> at >> org.apache.spark.broadcast.TorrentBroadcast.readBroadcastBlock(TorrentBroadcast.scala:165) >> at >> org.apache.spark.broadcast.TorrentBroadcast._value$lzycompute(TorrentBroadcast.scala:64) >> at >> org.apache.spark.broadcast.TorrentBroadcast._value(TorrentBroadcast.scala:64) >> at >> org.apache.spark.broadcast.TorrentBroadcast.getValue(TorrentBroadcast.scala:88) >> at org.apache.spark.broadcast.Broadcast.value(Broadcast.scala:70) >> at >> com.lumiata.evaluation.analysis.prod.ProductionAnalyzer$$anonfun$apply$1.apply(ProductionAnalyzer.scala:44) >> at >> com.lumiata.evaluation.analysis.prod.ProductionAnalyzer$$anonfun$apply$1.apply(ProductionAnalyzer.scala:43) >> at >> org.apache.spark.rdd.RDD$$anonfun$mapPartitions$1$$anonfun$apply$17.apply(RDD.scala:686) >> at >> org.apache.spark.rdd.RDD$$anonfun$mapPartitions$1$$anonfun$apply$17.apply(RDD.scala:686) >> at >> org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:35) >> at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:277) >> at org.apache.spark.rdd.RDD.iterator(RDD.scala:244) >> at >> org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:35) >> at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:277) >> at org.apache.spark.rdd.RDD.iterator(RDD.scala:244) >> at >> org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:35) >> at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:277) >> at org.apache.spark.rdd.RDD.iterator(RDD.scala:244) >> at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:63) >> at org.apache.spark.scheduler.Task.run(Task.scala:70) >> at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:213) >> at >> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) >> at >> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) >> at java.lang.Thread.run(Thread.java:745) >> Caused by: com.esotericsoftware.kryo.KryoException: Error constructing >> instance of class: com.lumiata.patientanalysis.utils.CachedGraph >> at >> com.twitter.chill.Instantiators$$anon$1.newInstance(KryoBase.scala:126) >> at com.esotericsoftware.kryo.Kryo.newInstance(Kryo.java:1065) >> at >> com.esotericsoftware.kryo.serializers.FieldSerializer.create(FieldSerializer.java:228) >> at >> com.esotericsoftware.kryo.serializers.FieldSerializer.read(FieldSerializer.java:217) >> at com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:729) >> at >> org.apache.spark.serializer.KryoDeserializationStream.readObject(KryoSerializer.scala:182) >> at >> org.apache.spark.broadcast.TorrentBroadcast$.unBlockifyObject(TorrentBroadcast.scala:217) >> at >> org.apache.spark.broadcast.TorrentBroadcast$$anonfun$readBroadcastBlock$1.apply(TorrentBroadcast.scala:178) >> at org.apache.spark.util.Utils$.tryOrIOException(Utils.scala:1254) >> ... 24 more >> Caused by: java.lang.reflect.InvocationTargetException >> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) >> at >> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) >> at >> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) >> at java.lang.reflect.Constructor.newInstance(Constructor.java:422) >> at >> com.twitter.chill.Instantiators$$anonfun$normalJava$1.apply(KryoBase.scala:160) >> at >> com.twitter.chill.Instantiators$$anon$1.newInstance(KryoBase.scala:123) >> ... 32 more >> Caused by: com.esotericsoftware.kryo.KryoException: Unable to find class: >> com.i2028.Document.Document >> at >> com.esotericsoftware.kryo.util.DefaultClassResolver.readName(DefaultClassResolver.java:138) >> at >> com.esotericsoftware.kryo.util.DefaultClassResolver.readClass(DefaultClassResolver.java:115) >> at com.esotericsoftware.kryo.Kryo.readClass(Kryo.java:610) >> at com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:721) >> at >> com.esotericsoftware.kryo.serializers.MapSerializer.read(MapSerializer.java:134) >> at >> com.esotericsoftware.kryo.serializers.MapSerializer.read(MapSerializer.java:17) >> at com.esotericsoftware.kryo.Kryo.readObject(Kryo.java:626) >> at >> com.lumiata.patientanalysis.utils.CachedGraph.loadCacheFromSerializedData(CachedGraph.java:221) >> at >> com.lumiata.patientanalysis.utils.CachedGraph.<init>(CachedGraph.java:182) >> at >> com.lumiata.patientanalysis.utils.CachedGraph.<init>(CachedGraph.java:178) >> ... 38 more >> Caused by: java.lang.ClassNotFoundException: com.i2028.Document.Document >> at java.net.URLClassLoader.findClass(URLClassLoader.java:381) >> at java.lang.ClassLoader.loadClass(ClassLoader.java:424) >> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) >> at java.lang.ClassLoader.loadClass(ClassLoader.java:357) >> at java.lang.Class.forName0(Native Method) >> at java.lang.Class.forName(Class.java:348) >> at >> com.esotericsoftware.kryo.util.DefaultClassResolver.readName(DefaultClassResolver.java:136) >> ... 47 more >> >> >> >>> On Tue, Sep 8, 2015 at 6:01 AM Igor Berman <igor.ber...@gmail.com> >>> wrote: >>> >>>> I wouldn't build on this. local mode & yarn are different so that jars >>>> you use in spark submit are handled differently >>>> >>>> On 8 September 2015 at 15:43, Nicholas R. Peterson < >>>> nrpeter...@gmail.com> wrote: >>>> >>>>> Thans, Igor; I've got it running again right now, and can attach the >>>>> stack trace when it finishes. >>>>> >>>>> In the mean time, I've noticed something interesting: in the Spark UI, >>>>> the application jar that I submit is not being included on the classpath. >>>>> It has been successfully uploaded to the nodes -- in the nodemanager >>>>> directory for the application, I see __app__.jar and __spark__.jar. The >>>>> directory itself is on the classpath, and __spark__.jar and >>>>> __hadoop_conf__ >>>>> are as well. When I do everything the same but switch the master to >>>>> local[*], the jar I submit IS added to the classpath. >>>>> >>>>> This seems like a likely culprit. What could cause this, and how can >>>>> I fix it? >>>>> >>>>> Best, >>>>> Nick >>>>> >>>>> On Tue, Sep 8, 2015 at 1:14 AM Igor Berman <igor.ber...@gmail.com> >>>>> wrote: >>>>> >>>>>> as a starting point, attach your stacktrace... >>>>>> ps: look for duplicates in your classpath, maybe you include another >>>>>> jar with same class >>>>>> >>>>>> On 8 September 2015 at 06:38, Nicholas R. Peterson < >>>>>> nrpeter...@gmail.com> wrote: >>>>>> >>>>>>> I'm trying to run a Spark 1.4.1 job on my CDH5.4 cluster, through >>>>>>> Yarn. Serialization is set to use Kryo. >>>>>>> >>>>>>> I have a large object which I send to the executors as a Broadcast. >>>>>>> The object seems to serialize just fine. When it attempts to >>>>>>> deserialize, >>>>>>> though, Kryo throws a ClassNotFoundException... for a class that I >>>>>>> include >>>>>>> in the fat jar that I spark-submit. >>>>>>> >>>>>>> What could be causing this classpath issue with Kryo on the >>>>>>> executors? Where should I even start looking to try to diagnose the >>>>>>> problem? I appreciate any help you can provide. >>>>>>> >>>>>>> Thank you! >>>>>>> >>>>>>> -- Nick >>>>>>> >>>>>> >>>>>> >>>> >