hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stack <st...@duboce.net>
Subject Re: Problem with double shading in hbase-thirdparty and hbase-shaded-client?
Date Thu, 02 Nov 2017 20:52:01 GMT
Good one Jerry He.

I can try changing the offset in hbase-thirdparty in a new release
(o.a.hbase.shaded?). There used to be a reason why it had to be
o.a.h.hbase.shaded but IIRC it went away after all shaded dependencies made
it out to hbase-thirdparty (including the pb3 that we used to have checked
into core).


On Thu, Nov 2, 2017 at 11:45 AM, Jerry He <jerryjch@gmail.com> wrote:

> Mike from another thread asked about shading jackson into
> hbase-thirdparty. That reminded me of a question I was thinking
> recently,
> in conjunction with HBASE-18800 "[Propaganda] Push shaded hbase-client
> as gateway to an hbase cluster going forward".
> We have shaded artifacts in hbase-thirdparty
> (hbase-shaded-miscellaneous, hbase-shaded-protobuf and
> hbase-shaded-netty). The purpose is to shade and bundle the jars with
> versions hbase uses internally.
> Then in hbase-shaded-client we do shading again for some of the same
> jars, but they are more non-hbase, transitive dependencies.
> For example, in hbase-shaded-miscellaneous, we shade guava 22. But
> hbase-client will bring in guava 11 from hadoop-common. In
> hbase-shaded-protobuf, we shade protobuf 3. But hadoop brings in
> protobuf 2.5.
> We will be doing shading of all these in hbase-shaded-client (and the
> hbase-shaded-mapreduce), with the same relocation
> (org.apache.hadoop.hbase.shaded).
> The end result is shaded guava 22 or guava 11?  Protobuf 3 or protobuf 2.5?
> I checked hbase-shaded-client and found it had the shaded guava 22 classes.
> Looks like the shading process will only add one version of the
> classes with the same name.
> This will potentially have problem, and potentially make it unusable
> in unlucky situations.
> I bring it up here for awareness and discussion. First, is this really
> a problem?
> Second, how to fix it?  Maybe a different relocation offset in
> hbase-thirdparty?
> Thanks,
> Jerry

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message