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