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

Tobi Knaup commented on MESOS-1203:
-----------------------------------

Great comments all. It seems that shading is the best way forward.
[~berngp] I like your idea of using the "org.apache.mesos.io.protobuf" 
namespace. The way I thought about this in the beginning is that we'd have a 
separate shaded jar with the workaround for incompatible protobuf versions, but 
most projects would still use the default jar. Instead we could just move to a 
shaded jar entirely like you suggested. Benefits I see:

* the entire public Mesos API lives under the org.apache.mesos namespace, which 
is nice
* we won't see any incompatibility issues in the future
* leaves room for possible customization of protobuf


> 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