On Thu, Nov 2, 2017 at 3:28 PM, Jerry He <[email protected]> wrote:

> 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!
>
> Thanks Jerry.
S



>
>
> 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