Sorry Ted, that was me clumsily trying to redact my organization's name
from the computer output (in my e-mail editor). I can assure you that
basically defend7 and rick are the same thing in this case so the class is
present in the jar.

On Mon Feb 23 2015 at 9:39:09 PM Ted Yu <yuzhih...@gmail.com> wrote:

> The classname given in stack trace was com.rick.reports.Reports
>
> In the output from jar command the class is com.defend7.reports.Reports.
>
> FYI
>
> On Mon, Feb 23, 2015 at 9:33 PM, necro351 . <necro...@gmail.com> wrote:
>
>> Hi Ted,
>>
>> Yes it appears to be:
>> rick@ubuntu:~/go/src/rick/sparksprint/containers/tests/StreamingReports$
>> jar tvf
>> ../../../analyzer/spark/target/scala-2.10/rick-processors-assembly-1.0.jar|grep
>> SensorReports
>>   1128 Mon Feb 23 17:34:46 PST 2015
>> com/defend7/reports/Reports$SensorReports$1.class
>>  13507 Mon Feb 23 17:34:46 PST 2015
>> com/defend7/reports/Reports$SensorReports$Builder.class
>>  10640 Mon Feb 23 17:34:46 PST 2015
>> com/defend7/reports/Reports$SensorReports.class
>>    815 Mon Feb 23 17:34:46 PST 2015
>> com/defend7/reports/Reports$SensorReportsOrBuilder.class
>>
>>
>> On Mon Feb 23 2015 at 8:57:18 PM Ted Yu <yuzhih...@gmail.com> wrote:
>>
>>> bq. Caused by: java.lang.ClassNotFoundException: com.rick.reports.
>>> Reports$SensorReports
>>>
>>> Is Reports$SensorReports class in rick-processors-assembly-1.0.jar ?
>>>
>>> Thanks
>>>
>>> On Mon, Feb 23, 2015 at 8:43 PM, necro351 . <necro...@gmail.com> wrote:
>>>
>>>> Hello,
>>>>
>>>> I am trying to deserialize some data encoded using proto buff from
>>>> within Spark and am getting class-not-found exceptions. I have narrowed the
>>>> program down to something very simple that shows the problem exactly (see
>>>> 'The Program' below) and hopefully someone can tell me the easy fix :)
>>>>
>>>> So the situation is I have some proto buff reports in /tmp/reports. I
>>>> also have a Spark project with the below Scala code (under The Program) as
>>>> well as a Java file defining SensorReports all in the same src sub-tree in
>>>> my Spark project. Its built using sbt in the standard way. The Spark job
>>>> reads in the reports from /tmp/reports and then prints them to the console.
>>>> When I build and run my spark job with spark-submit everything works as
>>>> expected and the reports are printed out. When I uncomment the 'XXX'
>>>> variant in the Scala spark program and try to print the reports from within
>>>> a Spark Context I get the class-not-found exceptions. I don't understand
>>>> why. If I get this working then I will want to do more than just print the
>>>> reports from within the Spark Context.
>>>>
>>>> My read of the documentation tells me that my spark job should have
>>>> access to everything in the submitted jar and that jar includes the Java
>>>> code generated by the proto buff library which defines SensorReports. This
>>>> is the spark-submit invocation I use after building my job as an assembly
>>>> with the sbt-assembly plugin:
>>>>
>>>> spark-submit --class com.rick.processors.NewReportProcessor --master
>>>> local[*]
>>>> ../../../analyzer/spark/target/scala-2.10/rick-processors-assembly-1.0.jar
>>>>
>>>> I have also tried adding the jar programmatically using sc.addJar but
>>>> that does not help. I found a bug from July (
>>>> https://github.com/apache/spark/pull/181) that seems related but it
>>>> went into Spark 1.2.0 (which is what I am currently using) so I don't think
>>>> that's it.
>>>>
>>>> Any ideas? Thanks!
>>>>
>>>> The Program:
>>>> ==========
>>>> package com.rick.processors
>>>>
>>>>
>>>>
>>>> import java.io.File
>>>>
>>>> import java.nio.file.{Path, Files, FileSystems}
>>>>
>>>> import org.apache.spark.{SparkContext, SparkConf}
>>>>
>>>> import com.rick.reports.Reports.SensorReports
>>>>
>>>>
>>>>
>>>> object NewReportProcessor {
>>>>
>>>>   private val sparkConf = new SparkConf().setAppName("ReportProcessor")
>>>>
>>>>   private val sc = new SparkContext(sparkConf)
>>>>
>>>>
>>>>
>>>>   def main(args: Array[String]) = {
>>>>
>>>>     val protoBuffsBinary = localFileReports()
>>>>
>>>>     val sensorReportsBundles = protoBuffsBinary.map(bundle =>
>>>> SensorReports.parseFrom(bundle))
>>>>     // XXX: Printing from within the SparkContext throws
>>>> class-not-found
>>>>     // exceptions, why?
>>>>
>>>>     // sc.makeRDD(sensorReportsBundles).foreach((x: SensorReports) =>
>>>> println(x.toString))
>>>>     sensorReportsBundles.foreach((x: SensorReports) =>
>>>> println(x.toString))
>>>>   }
>>>>
>>>>
>>>>
>>>>   private def localFileReports() = {
>>>>
>>>>     val reportDir = new File("/tmp/reports")
>>>>
>>>>     val reportFiles =
>>>> reportDir.listFiles.filter(_.getName.endsWith(".report"))
>>>>
>>>>     reportFiles.map(file => {
>>>>
>>>>       val path = FileSystems.getDefault().getPath("/tmp/reports",
>>>> file.getName())
>>>>       Files.readAllBytes(path)
>>>>
>>>>     })
>>>>
>>>>   }
>>>>
>>>> }
>>>>
>>>> The Class-not-found exceptions:
>>>> =========================
>>>> Spark assembly has been built with Hive, including Datanucleus jars on
>>>> classpath
>>>> Using Spark's default log4j profile:
>>>> org/apache/spark/log4j-defaults.properties
>>>> 15/02/23 17:35:03 WARN Utils: Your hostname, ubuntu resolves to a
>>>> loopback address: 127.0.1.1; using 192.168.241.128 instead (on interface
>>>> eth0)
>>>> 15/02/23 17:35:03 WARN Utils: Set SPARK_LOCAL_IP if you need to bind to
>>>> another address
>>>> 15/02/23 17:35:04 INFO SecurityManager: Changing view acls to: rick
>>>> 15/02/23 17:35:04 INFO SecurityManager: Changing modify acls to: rick
>>>> 15/02/23 17:35:04 INFO SecurityManager: SecurityManager: authentication
>>>> disabled; ui acls disabled; users with view permissions: Set(rick); users
>>>> with modify permissions: Set(rick)
>>>> 15/02/23 17:35:04 INFO Slf4jLogger: Slf4jLogger started
>>>> 15/02/23 17:35:04 INFO Remoting: Starting remoting
>>>> 15/02/23 17:35:04 INFO Remoting: Remoting started; listening on
>>>> addresses :[akka.tcp://sparkDriver@192.168.241.128:38110]
>>>> 15/02/23 17:35:04 INFO Utils: Successfully started service
>>>> 'sparkDriver' on port 38110.
>>>> 15/02/23 17:35:04 INFO SparkEnv: Registering MapOutputTracker
>>>> 15/02/23 17:35:04 INFO SparkEnv: Registering BlockManagerMaster
>>>> 15/02/23 17:35:04 INFO DiskBlockManager: Created local directory at
>>>> /tmp/spark-local-20150223173504-b26c
>>>> 15/02/23 17:35:04 INFO MemoryStore: MemoryStore started with capacity
>>>> 267.3 MB
>>>> 15/02/23 17:35:05 WARN NativeCodeLoader: Unable to load native-hadoop
>>>> library for your platform... using builtin-java classes where applicable
>>>> 15/02/23 17:35:05 INFO HttpFileServer: HTTP File server directory is
>>>> /tmp/spark-c77dbc9a-d626-4991-a9b7-f593acafbe64
>>>> 15/02/23 17:35:05 INFO HttpServer: Starting HTTP Server
>>>> 15/02/23 17:35:05 INFO Utils: Successfully started service 'HTTP file
>>>> server' on port 50950.
>>>> 15/02/23 17:35:05 WARN Utils: Service 'SparkUI' could not bind on port
>>>> 4040. Attempting port 4041.
>>>> 15/02/23 17:35:05 WARN Utils: Service 'SparkUI' could not bind on port
>>>> 4041. Attempting port 4042.
>>>> 15/02/23 17:35:05 WARN Utils: Service 'SparkUI' could not bind on port
>>>> 4042. Attempting port 4043.
>>>> 15/02/23 17:35:06 WARN Utils: Service 'SparkUI' could not bind on port
>>>> 4043. Attempting port 4044.
>>>> 15/02/23 17:35:06 WARN Utils: Service 'SparkUI' could not bind on port
>>>> 4044. Attempting port 4045.
>>>> 15/02/23 17:35:06 WARN Utils: Service 'SparkUI' could not bind on port
>>>> 4045. Attempting port 4046.
>>>> 15/02/23 17:35:06 INFO Utils: Successfully started service 'SparkUI' on
>>>> port 4046.
>>>> 15/02/23 17:35:06 INFO SparkUI: Started SparkUI at
>>>> http://192.168.241.128:4046
>>>> 15/02/23 17:35:06 INFO SparkContext: Added JAR
>>>> file:/home/rick/go/src/rick/sparksprint/containers/tests/StreamingReports/../../../analyzer/spark/target/scala-2.10/rick-processors-assembly-1.0.jar
>>>> at http://192.168.241.128:50950/jars/rick-processors-assembly-1.0.jar
>>>> with timestamp 1424741706610
>>>> 15/02/23 17:35:06 INFO AkkaUtils: Connecting to HeartbeatReceiver:
>>>> akka.tcp://sparkDriver@192.168.241.128:38110/user/HeartbeatReceiver
>>>> 15/02/23 17:35:07 INFO NettyBlockTransferService: Server created on
>>>> 57801
>>>> 15/02/23 17:35:07 INFO BlockManagerMaster: Trying to register
>>>> BlockManager
>>>> 15/02/23 17:35:07 INFO BlockManagerMasterActor: Registering block
>>>> manager localhost:57801 with 267.3 MB RAM, BlockManagerId(<driver>,
>>>> localhost, 57801)
>>>> 15/02/23 17:35:07 INFO BlockManagerMaster: Registered BlockManager
>>>> 15/02/23 17:35:07 INFO SparkContext: Starting job: foreach at
>>>> NewReportProcessor.scala:17
>>>> 15/02/23 17:35:07 INFO DAGScheduler: Got job 0 (foreach at
>>>> NewReportProcessor.scala:17) with 1 output partitions (allowLocal=false)
>>>> 15/02/23 17:35:07 INFO DAGScheduler: Final stage: Stage 0(foreach at
>>>> NewReportProcessor.scala:17)
>>>> 15/02/23 17:35:07 INFO DAGScheduler: Parents of final stage: List()
>>>> 15/02/23 17:35:07 INFO DAGScheduler: Missing parents: List()
>>>> 15/02/23 17:35:07 INFO DAGScheduler: Submitting Stage 0
>>>> (ParallelCollectionRDD[0] at makeRDD at NewReportProcessor.scala:17), which
>>>> has no missing parents
>>>> 15/02/23 17:35:07 INFO MemoryStore: ensureFreeSpace(1360) called with
>>>> curMem=0, maxMem=280248975
>>>> 15/02/23 17:35:07 INFO MemoryStore: Block broadcast_0 stored as values
>>>> in memory (estimated size 1360.0 B, free 267.3 MB)
>>>> 15/02/23 17:35:07 INFO MemoryStore: ensureFreeSpace(1071) called with
>>>> curMem=1360, maxMem=280248975
>>>> 15/02/23 17:35:07 INFO MemoryStore: Block broadcast_0_piece0 stored as
>>>> bytes in memory (estimated size 1071.0 B, free 267.3 MB)
>>>> 15/02/23 17:35:07 INFO BlockManagerInfo: Added broadcast_0_piece0 in
>>>> memory on localhost:57801 (size: 1071.0 B, free: 267.3 MB)
>>>> 15/02/23 17:35:07 INFO BlockManagerMaster: Updated info of block
>>>> broadcast_0_piece0
>>>> 15/02/23 17:35:07 INFO SparkContext: Created broadcast 0 from broadcast
>>>> at DAGScheduler.scala:838
>>>> 15/02/23 17:35:07 INFO DAGScheduler: Submitting 1 missing tasks from
>>>> Stage 0 (ParallelCollectionRDD[0] at makeRDD at 
>>>> NewReportProcessor.scala:17)
>>>> 15/02/23 17:35:07 INFO TaskSchedulerImpl: Adding task set 0.0 with 1
>>>> tasks
>>>> 15/02/23 17:35:07 INFO TaskSetManager: Starting task 0.0 in stage 0.0
>>>> (TID 0, localhost, PROCESS_LOCAL, 5587 bytes)
>>>> 15/02/23 17:35:07 INFO Executor: Running task 0.0 in stage 0.0 (TID 0)
>>>> 15/02/23 17:35:07 INFO Executor: Fetching
>>>> http://192.168.241.128:50950/jars/rick-processors-assembly-1.0.jar
>>>> with timestamp 1424741706610
>>>> 15/02/23 17:35:08 INFO Utils: Fetching
>>>> http://192.168.241.128:50950/jars/rick-processors-assembly-1.0.jar to
>>>> /tmp/fetchFileTemp2793880583189398319.tmp
>>>> 15/02/23 17:35:08 INFO Executor: Adding
>>>> file:/tmp/spark-bdec3945-52d1-42bf-8b7a-30f14f492a42/rick-processors-assembly-1.0.jar
>>>> to class loader
>>>> 15/02/23 17:35:08 ERROR Executor: Exception in task 0.0 in stage 0.0
>>>> (TID 0)
>>>> java.io.IOException: java.lang.RuntimeException: Unable to find proto
>>>> buffer class
>>>> at org.apache.spark.util.Utils$.tryOrIOException(Utils.scala:988)
>>>> at
>>>> org.apache.spark.rdd.ParallelCollectionPartition.readObject(ParallelCollectionRDD.scala:70)
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>> at
>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>> at
>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>> at java.lang.reflect.Method.invoke(Method.java:606)
>>>> at
>>>> java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017)
>>>> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1893)
>>>> at
>>>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
>>>> at
>>>> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990)
>>>> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1915)
>>>> at
>>>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
>>>> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
>>>> at
>>>> org.apache.spark.serializer.JavaDeserializationStream.readObject(JavaSerializer.scala:62)
>>>> at
>>>> org.apache.spark.serializer.JavaSerializerInstance.deserialize(JavaSerializer.scala:87)
>>>> at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:178)
>>>> at
>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>> at
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>> at java.lang.Thread.run(Thread.java:745)
>>>> Caused by: java.lang.RuntimeException: Unable to find proto buffer class
>>>> at
>>>> com.google.protobuf.GeneratedMessageLite$SerializedForm.readResolve(GeneratedMessageLite.java:775)
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>> at
>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>> at
>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>> at java.lang.reflect.Method.invoke(Method.java:606)
>>>> at
>>>> java.io.ObjectStreamClass.invokeReadResolve(ObjectStreamClass.java:1104)
>>>> at
>>>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1807)
>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
>>>> at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1706)
>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1344)
>>>> at
>>>> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990)
>>>> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1915)
>>>> at
>>>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
>>>> at
>>>> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990)
>>>> at
>>>> java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:500)
>>>> at
>>>> org.apache.spark.rdd.ParallelCollectionPartition$$anonfun$readObject$1.apply$mcV$sp(ParallelCollectionRDD.scala:74)
>>>> at org.apache.spark.util.Utils$.tryOrIOException(Utils.scala:985)
>>>> ... 20 more
>>>> Caused by: java.lang.ClassNotFoundException:
>>>> com.rick.reports.Reports$SensorReports
>>>> at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
>>>> at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
>>>> at java.security.AccessController.doPrivileged(Native Method)
>>>> at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
>>>> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
>>>> at java.lang.Class.forName0(Native Method)
>>>> at java.lang.Class.forName(Class.java:191)
>>>> at
>>>> com.google.protobuf.GeneratedMessageLite$SerializedForm.readResolve(GeneratedMessageLite.java:768)
>>>> ... 37 more
>>>> 15/02/23 17:35:08 WARN TaskSetManager: Lost task 0.0 in stage 0.0 (TID
>>>> 0, localhost): java.io.IOException: java.lang.RuntimeException: Unable to
>>>> find proto buffer class
>>>> at org.apache.spark.util.Utils$.tryOrIOException(Utils.scala:988)
>>>> at
>>>> org.apache.spark.rdd.ParallelCollectionPartition.readObject(ParallelCollectionRDD.scala:70)
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>> at
>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>> at
>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>> at java.lang.reflect.Method.invoke(Method.java:606)
>>>> at
>>>> java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017)
>>>> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1893)
>>>> at
>>>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
>>>> at
>>>> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990)
>>>> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1915)
>>>> at
>>>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
>>>> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
>>>> at
>>>> org.apache.spark.serializer.JavaDeserializationStream.readObject(JavaSerializer.scala:62)
>>>> at
>>>> org.apache.spark.serializer.JavaSerializerInstance.deserialize(JavaSerializer.scala:87)
>>>> at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:178)
>>>> at
>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>> at
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>> at java.lang.Thread.run(Thread.java:745)
>>>> Caused by: java.lang.RuntimeException: Unable to find proto buffer class
>>>> at
>>>> com.google.protobuf.GeneratedMessageLite$SerializedForm.readResolve(GeneratedMessageLite.java:775)
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>> at
>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>> at
>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>> at java.lang.reflect.Method.invoke(Method.java:606)
>>>> at
>>>> java.io.ObjectStreamClass.invokeReadResolve(ObjectStreamClass.java:1104)
>>>> at
>>>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1807)
>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
>>>> at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1706)
>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1344)
>>>> at
>>>> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990)
>>>> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1915)
>>>> at
>>>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
>>>> at
>>>> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990)
>>>> at
>>>> java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:500)
>>>> at
>>>> org.apache.spark.rdd.ParallelCollectionPartition$$anonfun$readObject$1.apply$mcV$sp(ParallelCollectionRDD.scala:74)
>>>> at org.apache.spark.util.Utils$.tryOrIOException(Utils.scala:985)
>>>> ... 20 more
>>>> Caused by: java.lang.ClassNotFoundException:
>>>> com.rick.reports.Reports$SensorReports
>>>> at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
>>>> at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
>>>> at java.security.AccessController.doPrivileged(Native Method)
>>>> at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
>>>> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
>>>> at java.lang.Class.forName0(Native Method)
>>>> at java.lang.Class.forName(Class.java:191)
>>>> at
>>>> com.google.protobuf.GeneratedMessageLite$SerializedForm.readResolve(GeneratedMessageLite.java:768)
>>>> ... 37 more
>>>>
>>>> 15/02/23 17:35:08 ERROR TaskSetManager: Task 0 in stage 0.0 failed 1
>>>> times; aborting job
>>>> 15/02/23 17:35:08 INFO TaskSchedulerImpl: Removed TaskSet 0.0, whose
>>>> tasks have all completed, from pool
>>>> 15/02/23 17:35:08 INFO TaskSchedulerImpl: Cancelling stage 0
>>>> 15/02/23 17:35:08 INFO DAGScheduler: Job 0 failed: foreach at
>>>> NewReportProcessor.scala:17, took 0.644071 s
>>>> Exception in thread "main" org.apache.spark.SparkException: Job aborted
>>>> due to stage failure: Task 0 in stage 0.0 failed 1 times, most recent
>>>> failure: Lost task 0.0 in stage 0.0 (TID 0, localhost):
>>>> java.io.IOException: java.lang.RuntimeException: Unable to find proto
>>>> buffer class
>>>> at org.apache.spark.util.Utils$.tryOrIOException(Utils.scala:988)
>>>> at
>>>> org.apache.spark.rdd.ParallelCollectionPartition.readObject(ParallelCollectionRDD.scala:70)
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>> at
>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>> at
>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>> at java.lang.reflect.Method.invoke(Method.java:606)
>>>> at
>>>> java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1017)
>>>> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1893)
>>>> at
>>>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
>>>> at
>>>> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990)
>>>> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1915)
>>>> at
>>>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
>>>> at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
>>>> at
>>>> org.apache.spark.serializer.JavaDeserializationStream.readObject(JavaSerializer.scala:62)
>>>> at
>>>> org.apache.spark.serializer.JavaSerializerInstance.deserialize(JavaSerializer.scala:87)
>>>> at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:178)
>>>> at
>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>> at
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>> at java.lang.Thread.run(Thread.java:745)
>>>> Caused by: java.lang.RuntimeException: Unable to find proto buffer class
>>>> at
>>>> com.google.protobuf.GeneratedMessageLite$SerializedForm.readResolve(GeneratedMessageLite.java:775)
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>> at
>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>>>> at
>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>> at java.lang.reflect.Method.invoke(Method.java:606)
>>>> at
>>>> java.io.ObjectStreamClass.invokeReadResolve(ObjectStreamClass.java:1104)
>>>> at
>>>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1807)
>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
>>>> at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1706)
>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1344)
>>>> at
>>>> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990)
>>>> at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1915)
>>>> at
>>>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
>>>> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
>>>> at
>>>> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990)
>>>> at
>>>> java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:500)
>>>> at
>>>> org.apache.spark.rdd.ParallelCollectionPartition$$anonfun$readObject$1.apply$mcV$sp(ParallelCollectionRDD.scala:74)
>>>> at org.apache.spark.util.Utils$.tryOrIOException(Utils.scala:985)
>>>> ... 20 more
>>>> Caused by: java.lang.ClassNotFoundException:
>>>> com.rick.reports.Reports$SensorReports
>>>> at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
>>>> at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
>>>> at java.security.AccessController.doPrivileged(Native Method)
>>>> at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
>>>> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
>>>> at java.lang.Class.forName0(Native Method)
>>>> at java.lang.Class.forName(Class.java:191)
>>>> at
>>>> com.google.protobuf.GeneratedMessageLite$SerializedForm.readResolve(GeneratedMessageLite.java:768)
>>>> ... 37 more
>>>>
>>>> Driver stacktrace:
>>>> at org.apache.spark.scheduler.DAGScheduler.org
>>>> $apache$spark$scheduler$DAGScheduler$$failJobAndIndependentStages(DAGScheduler.scala:1214)
>>>> at
>>>> org.apache.spark.scheduler.DAGScheduler$$anonfun$abortStage$1.apply(DAGScheduler.scala:1203)
>>>> at
>>>> org.apache.spark.scheduler.DAGScheduler$$anonfun$abortStage$1.apply(DAGScheduler.scala:1202)
>>>> at
>>>> scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59)
>>>> at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:47)
>>>> at
>>>> org.apache.spark.scheduler.DAGScheduler.abortStage(DAGScheduler.scala:1202)
>>>> at
>>>> org.apache.spark.scheduler.DAGScheduler$$anonfun$handleTaskSetFailed$1.apply(DAGScheduler.scala:696)
>>>> at
>>>> org.apache.spark.scheduler.DAGScheduler$$anonfun$handleTaskSetFailed$1.apply(DAGScheduler.scala:696)
>>>> at scala.Option.foreach(Option.scala:236)
>>>> at
>>>> org.apache.spark.scheduler.DAGScheduler.handleTaskSetFailed(DAGScheduler.scala:696)
>>>> at
>>>> org.apache.spark.scheduler.DAGSchedulerEventProcessActor$$anonfun$receive$2.applyOrElse(DAGScheduler.scala:1420)
>>>> at akka.actor.Actor$class.aroundReceive(Actor.scala:465)
>>>> at
>>>> org.apache.spark.scheduler.DAGSchedulerEventProcessActor.aroundReceive(DAGScheduler.scala:1375)
>>>> at akka.actor.ActorCell.receiveMessage(ActorCell.scala:516)
>>>> at akka.actor.ActorCell.invoke(ActorCell.scala:487)
>>>> at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:238)
>>>> at akka.dispatch.Mailbox.run(Mailbox.scala:220)
>>>> at
>>>> akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:393)
>>>> at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
>>>> at
>>>> scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
>>>> at
>>>> scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
>>>> at
>>>> scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
>>>>
>>>> The Proper Report Output:
>>>> ====================
>>>> reports {
>>>>   network_report {
>>>>     begin_time: 1424380054789676056
>>>>     end_time: 1424380054789740740
>>>>     source: "<some-IP-address>:80"
>>>>     destination: "<some-IP-address>:46792"
>>>>     protocol: TCP
>>>>     stream_id: 3
>>>>     stream_status: 8
>>>>   }
>>>>   http_report {
>>>>     request {
>>>>       method: "GET"
>>>> etc...
>>>>
>>>>
>>>
>

Reply via email to