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

Patrick Wendell commented on MESOS-1203:
----------------------------------------

You are understanding correctly. The shading process would basically inline a 
shaded version of the protobuf library inside of the published mesos jar, then 
all of the references to protobuf inside of the mesos java byte code would be 
re-written.

While this is pretty ugly - it's a fairly common practice and can be done 
easily with the maven shade plugin. In the description I gave an example of a 
project that uses this.

Spark doesn't yet used this but we plan to in the future. We are waiting until 
we standardize our build system (we currently have both maven and sbt builds).



> 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-mr/blob/master/pom.xml#L198
> 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