You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@spark.apache.org by Kohki Nishio <ta...@gmail.com> on 2017/02/21 06:36:37 UTC
ClassLoader problem - java.io.InvalidClassException: scala.Option;
local class incompatible
Hello, I'm writing a Play Framework application which does Spark, however
I'm getting below
java.io.InvalidClassException: scala.Option; local class incompatible:
stream classdesc serialVersionUID = -114498752079829388, local class
serialVersionUID = 5081326844987135632
at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:616)
at
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1630)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1521)
at
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1630)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1521)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1781)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1353)
at
java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2018)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1942)
at
java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1808)
It's because I'm launching the application via SBT and sbt-launch.jar
contains Scala 2.10 binary. However my Spark binary is for 2.11 that's why
I'm getting this. I believe ExecutorClassLoader needs to override loadClass
method as well, can anyone comment on this ? It's picking up Option class
from system classloader.
Thanks
--
Kohki Nishio
Re: ClassLoader problem - java.io.InvalidClassException:
scala.Option; local class incompatible
Posted by Kohki Nishio <ta...@gmail.com>.
Created a jira, I believe SBT is a valid use case, but it's resolved as Not
a Problem ..
https://issues.apache.org/jira/browse/SPARK-19675
On Mon, Feb 20, 2017 at 10:36 PM, Kohki Nishio <ta...@gmail.com> wrote:
> Hello, I'm writing a Play Framework application which does Spark, however
> I'm getting below
>
> java.io.InvalidClassException: scala.Option; local class incompatible:
> stream classdesc serialVersionUID = -114498752079829388, local class
> serialVersionUID = 5081326844987135632
> at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:616)
> at java.io.ObjectInputStream.readNonProxyDesc(
> ObjectInputStream.java:1630)
> at java.io.ObjectInputStream.readClassDesc(
> ObjectInputStream.java:1521)
> at java.io.ObjectInputStream.readNonProxyDesc(
> ObjectInputStream.java:1630)
> at java.io.ObjectInputStream.readClassDesc(
> ObjectInputStream.java:1521)
> at java.io.ObjectInputStream.readOrdinaryObject(
> ObjectInputStream.java:1781)
> at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1353)
> at java.io.ObjectInputStream.defaultReadFields(
> ObjectInputStream.java:2018)
> at java.io.ObjectInputStream.readSerialData(
> ObjectInputStream.java:1942)
> at java.io.ObjectInputStream.readOrdinaryObject(
> ObjectInputStream.java:1808)
>
> It's because I'm launching the application via SBT and sbt-launch.jar
> contains Scala 2.10 binary. However my Spark binary is for 2.11 that's why
> I'm getting this. I believe ExecutorClassLoader needs to override loadClass
> method as well, can anyone comment on this ? It's picking up Option class
> from system classloader.
>
> Thanks
> --
> Kohki Nishio
>
--
Kohki Nishio