At least from
http://stackoverflow.com/questions/817853/what-is-the-difference-between-serializable-and-externalizable-in-javait
looks like Externalizable is roughly an old-java version of
Serializable.  Does that class implement both interfaces?  Can you take
away the Externalizable interface if it's being used?


On Mon, Dec 2, 2013 at 7:15 PM, Matt Cheah <mch...@palantir.com> wrote:

>  Hi everyone,
>
>  I'm running into a case where I'm creating a Java RDD of an
> Externalizable class, and getting this stack trace:
>
>  java.io.InvalidClassException (java.io.InvalidClassException:
> com.palantir.finance.datatable.server.spark.WritableDataRow; Serializable
> incompatible with Externalizable)
> java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:634)
> java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1622)
> java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
> java.io.ObjectInputStream.readClass(ObjectInputStream.java:1483)<some
> other Java stuff>
> java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
> org.apache.spark.serializer.JavaDeserializationStream.readObject(JavaSerializer.scala:39)
> org.apache.spark.serializer.JavaSerializerInstance.deserialize(JavaSerializer.scala:61)
> org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:153)
> I'm running on a spark cluster generated by the EC2 Scripts. This doesn't
> happen if I'm running things with local[N]. Any ideas?
> Thanks,
> -Matt Cheah
>

Reply via email to