This is also happening to me on a regular basis, when the job is large with
relatively large serialized objects used in each RDD lineage. A bad thing
about this is that this exception always stops the whole job.


On Fri, Sep 26, 2014 at 11:17 AM, Brad Miller <bmill...@eecs.berkeley.edu>
wrote:

> FWIW I suspect that each count operation is an opportunity for you to
> trigger the bug, and each filter operation increases the likelihood of
> setting up the bug.  I normally don't come across this error until my job
> has been running for an hour or two and had a chance to build up longer
> lineages for some RDDs.  It sounds like your data is a bit smaller and it's
> more feasible for you to build up longer lineages more quickly.
>
> If you can reduce your number of filter operations (for example by
> combining some into a single function) that may help.  It may also help to
> introduce persistence or checkpointing at intermediate stages so that the
> length of the lineages that have to get replayed isn't as long.
>
> On Fri, Sep 26, 2014 at 11:10 AM, Arun Ahuja <aahuj...@gmail.com> wrote:
>
>> No for me as well it is non-deterministic.  It happens in a piece of code
>> that does many filter and counts on a small set of records (~1k-10k).  The
>> originally set is persisted in memory and we have a Kryo serializer set for
>> it.  The task itself takes in just a few filtering parameters.  This with
>> the same setting has sometimes completed to sucess and sometimes failed
>> during this step.
>>
>> Arun
>>
>> On Fri, Sep 26, 2014 at 1:32 PM, Brad Miller <bmill...@eecs.berkeley.edu>
>> wrote:
>>
>>> I've had multiple jobs crash due to "java.io.IOException: unexpected
>>> exception type"; I've been running the 1.1 branch for some time and am now
>>> running the 1.1 release binaries. Note that I only use PySpark. I haven't
>>> kept detailed notes or the tracebacks around since there are other problems
>>> that have caused my greater grief (namely "key not found" errors).
>>>
>>> For me the exception seems to occur non-deterministically, which is a
>>> bit interesting since the error message shows that the same stage has
>>> failed multiple times.  Are you able to consistently re-produce the bug
>>> across multiple invocations at the same place?
>>>
>>> On Fri, Sep 26, 2014 at 6:11 AM, Arun Ahuja <aahuj...@gmail.com> wrote:
>>>
>>>> Has anyone else seen this erorr in task deserialization?  The task is
>>>> processing a small amount of data and doesn't seem to have much data
>>>> hanging to the closure?  I've only seen this with Spark 1.1
>>>>
>>>> Job aborted due to stage failure: Task 975 in stage 8.0 failed 4 times, 
>>>> most recent failure: Lost task 975.3 in stage 8.0 (TID 24777, host.com): 
>>>> java.io.IOException: unexpected exception type
>>>>         
>>>> java.io.ObjectStreamClass.throwMiscException(ObjectStreamClass.java:1538)
>>>>         
>>>> java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1025)
>>>>         
>>>> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1893)
>>>>         
>>>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
>>>>         java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
>>>>         
>>>> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1990)
>>>>         
>>>> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1915)
>>>>         
>>>> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1798)
>>>>         java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
>>>>         java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
>>>>         
>>>> org.apache.spark.serializer.JavaDeserializationStream.readObject(JavaSerializer.scala:62)
>>>>         
>>>> org.apache.spark.serializer.JavaSerializerInstance.deserialize(JavaSerializer.scala:87)
>>>>         
>>>> org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:159)
>>>>         
>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>>         
>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>>         java.lang.Thread.run(Thread.java:744)
>>>>
>>>>
>>>
>>
>

Reply via email to