[ 
https://issues.apache.org/jira/browse/SPARK-1812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14078887#comment-14078887
 ] 

Anand Avati commented on SPARK-1812:
------------------------------------

So the akka-2.3.x incompatibility turns out to be because of:

java.lang.VerifyError: class akka.remote.WireFormats$AkkaControlMessage 
overrides final method getUnknownFields.()Lcom/google/protobuf/UnknownFieldSet;
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
        at 
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
        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 
akka.remote.transport.AkkaPduProtobufCodec$.constructControlMessagePdu(AkkaPduCodec.scala:231)
        at 
akka.remote.transport.AkkaPduProtobufCodec$.<init>(AkkaPduCodec.scala:153)
        at 
akka.remote.transport.AkkaPduProtobufCodec$.<clinit>(AkkaPduCodec.scala)
        at akka.remote.EndpointManager$$anonfun$9.apply(Remoting.scala:714)
        at akka.remote.EndpointManager$$anonfun$9.apply(Remoting.scala:684)
        at 
scala.collection.TraversableLike$WithFilter$$anonfun$map$2.apply(TraversableLike.scala:728)
        at scala.collection.Iterator$class.foreach(Iterator.scala:743)
        at scala.collection.AbstractIterator.foreach(Iterator.scala:1174)
        at scala.collection.IterableLike$class.foreach(IterableLike.scala:72)
        at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
        at 
scala.collection.TraversableLike$WithFilter.map(TraversableLike.scala:727)
        at 
akka.remote.EndpointManager.akka$remote$EndpointManager$$listens(Remoting.scala:684)
        at 
akka.remote.EndpointManager$$anonfun$receive$2.applyOrElse(Remoting.scala:492)
        at akka.actor.Actor$class.aroundReceive(Actor.scala:465)
        at akka.remote.EndpointManager.aroundReceive(Remoting.scala:395)
        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)

I'm not yet familiar what the previous akka-2.2.3-shaded-protobuf was doing 
under the covers, but I'm guessing that using a vanilla (i.e non 
-shaded-protobuf) akka-2.3 is making someone not happy. Odd thing, vanilla 
akka-2.2.3 works fine, just akka-2.3.x seems to have a problem with non 
-shaded-protobuf.

Any pointers will be helpful while I dig further.

> Support cross-building with Scala 2.11
> --------------------------------------
>
>                 Key: SPARK-1812
>                 URL: https://issues.apache.org/jira/browse/SPARK-1812
>             Project: Spark
>          Issue Type: New Feature
>          Components: Build, Spark Core
>            Reporter: Matei Zaharia
>            Assignee: Prashant Sharma
>
> Since Scala 2.10/2.11 are source compatible, we should be able to cross build 
> for both versions. From what I understand there are basically three things we 
> need to figure out:
> 1. Have a two versions of our dependency graph, one that uses 2.11 
> dependencies and the other that uses 2.10 dependencies.
> 2. Figure out how to publish different poms for 2.10 and 2.11.
> I think (1) can be accomplished by having a scala 2.11 profile. (2) isn't 
> really well supported by Maven since published pom's aren't generated 
> dynamically. But we can probably script around it to make it work. I've done 
> some initial sanity checks with a simple build here:
> https://github.com/pwendell/scala-maven-crossbuild



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to