o.a.h.hbase.thirdparty does look like a better choice.
Let me open two JIRAs to change the hbase-thirdparty and then all the
references in the main code (more tedious part).
Thanks, guys!



On Thu, Nov 2, 2017 at 1:54 PM Sean Busbey <[email protected]> wrote:

> I think something like o.a.h.hbase.thirdparty might be better. then we
> can differentiate between "shaded" for downstream of us vs
> "thirdparty" for our internal use.
>
> On Thu, Nov 2, 2017 at 3:52 PM, Stack <[email protected]> wrote:
> > 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).
> >
> > S
> >
> > On Thu, Nov 2, 2017 at 11:45 AM, Jerry He <[email protected]> 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
> >>
>

Reply via email to