[ 
https://issues.apache.org/jira/browse/HBASE-20333?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sean Busbey updated HBASE-20333:
--------------------------------
    Status: Patch Available  (was: In Progress)

-v0 WIP
  - patches for HBASE-20478 and HBASE-20332, since we rely on them
  - reworking of where we do the hadoop exclude / include since now two modules 
want it excluded and one wants to include it
  - new module {{hbase-shaded-client-byo-hadoop}} that leaves hadoop-* 
dependencies exposed to downstream

passes basic correctness tests (check-invariants, manually looking at reduced 
dependency tree).

going to take a go at HBASE-20334 using the result of this WIP patch to see if 
this works.

> break up shaded client into one with no Hadoop and one that's standalone
> ------------------------------------------------------------------------
>
>                 Key: HBASE-20333
>                 URL: https://issues.apache.org/jira/browse/HBASE-20333
>             Project: HBase
>          Issue Type: Sub-task
>          Components: shading
>    Affects Versions: 2.0.0
>            Reporter: Sean Busbey
>            Assignee: Sean Busbey
>            Priority: Critical
>             Fix For: 2.0.0
>
>         Attachments: HBASE-20333.WIP.0.patch
>
>
> there are contexts where we want to stay out of our downstream users way wrt 
> dependencies, but they need more Hadoop classes than we provide. i.e. any 
> downstream client that wants to use both HBase and HDFS in their application, 
> or any non-MR YARN application.
> Now that Hadoop also has shaded client artifacts for Hadoop 3, we're also 
> providing less incremental benefit by including our own rewritten Hadoop 
> classes to avoid downstream needing to pull in all of Hadoop's transitive 
> dependencies.
> right now those users need to ensure that any jars from the Hadoop project 
> are loaded in the classpath prior to our shaded client jar. This is brittle 
> and prone to weird debugging trouble.
> instead, we should have two artifacts: one that just lists Hadoop as a 
> prerequisite and one that still includes the rewritten-but-not-relocated 
> Hadoop classes.
> We can then use docs to emphasize when each of these is appropriate to use.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to