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

Sean Busbey commented on HBASE-20333:
-------------------------------------

{quote}

What's the use-case you have in mind for a jar with Hadoop provided but not 
relocated? Custom mapreduce jobs that use both Hadoop and HBase APIs?
{quote}

No, those should use our hbase-shaded-mapreduce artifact that never includes 
hadoop (once HBASE-20332 lands). Hadoop jars in that case need to come from MR.

The provided but not relocate hadoop is what we have now; what we've had since 
we first added a shaded jar in ... 1.1? It's not relocated because parts of 
Hadoop are in our API. I can go back and find the jira with me and Elliott 
going around about it if you'd like background.

> 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: 3.0.0, 2.1.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