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

Benjamin Hindman commented on MESOS-1203:
-----------------------------------------

FYI, I looked a little bit closer at Spark and we'd actually need to update it 
to use org.apache.mesos.com.google.protobuf as well since it currently uses 
ByteString in 
https://github.com/apache/spark/blob/master/core/src/main/scala/org/apache/spark/scheduler/cluster/mesos/MesosSchedulerBackend.scala.
 What's interesting here is that Spark is directly using protobuf but doesn't 
call it out as an explicit dependency!!! If they had done this then they would 
have likely already figured out which protobuf dependency to use based on 
Hadoop.

I also noticed that Spark depends on an 'akka-shaded-protobuf' dependency which 
might be something we could publish, i.e., mesos-shaded-protobuf-X.Y.Z.jar so 
that people that use this jar know that they need to also use 
org.apache.mesos.com.google.protobuf. We could still create a 
mesos-X.Y.Z-protobuf-A.B.C.jar for people that want to depend on a particular 
protobuf version too.

> Shade protobuf dependency in Mesos Java library
> -----------------------------------------------
>
>                 Key: MESOS-1203
>                 URL: https://issues.apache.org/jira/browse/MESOS-1203
>             Project: Mesos
>          Issue Type: Improvement
>          Components: build
>            Reporter: Patrick Wendell
>
> Mesos's Java library uses the protobuf library which is also used by Hadoop. 
> Unfortunately the protobuf library does not provide binary compatiblity 
> between minor versions (for code compiled against 2.4.1 and 2.5.0 cannot run 
> together in a single JVM classlaoder) .
> This makes use of Mesos via it's Java API, something that is required for 
> Spark and I'm assuming other frameworks, fundamentally incompatible for 
> certain Hadoop versions.
> Mesos could shade this jar using the maven shade plug-in. Take a look at the 
> Parquet project for an example of shading:
> https://github.com/Parquet/parquet-format/blob/master/pom.xml#L140
> Without this fix Java users won't be able to use Mesos (< 0.17) with newer 
> versions of Hadoop. Or Mesos 0.17+ with older versions of Hadoop.



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

Reply via email to