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

Bernardo Gomez Palacio commented on MESOS-1203:
-----------------------------------------------

The ability to create the shaded jar landed this past Friday in master with 
[https://issues.apache.org/jira/browse/MESOS-1212|MESOS-1212] thanks to 
[~tknaup] and [~benjaminhindman]. 

Please let me amend my last statement, there are two jar files that are 
generated which are independent and frameworks are free to choose which one 
they want to use, one is the _normal_ jar file and the other one has the 
_shaded protobuf_ at the _org.apache.mesos.protobuf_ namespace. If you wan to 
use the _shaded_ version you just need to qualify the dependency as 
_shaded-protobuf_.

I think the next steps are to port these changes to Mesos 0.18.0 and publish 
the shaded artifact. I am not sure if it is worth to do the same for 0.17.0.

As an exercise took the liberty to back-port these changes to 
[https://github.com/berngp/mesos/tree/0.16.0-shaded-protobuf|0.16.0]. As a 
reference you can find such artifacts 
[http://dl.bintray.com/berngp/apache-mesos/org/apache/mesos/mesos/0.16.0/|here].

> 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