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

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

{quote}
If you would have asked me on the spot, I think I'd have said that an HBase 
shaded jar just requires the Hadoop shaded jar and we move on. Maybe the 
problem is that we depend on things from Hadoop that aren't included in that 
shaded jar?
{quote}

branch-2 hadoop is not dead, and it has no shaded jar. By saying "just give me 
hadoop however you can do that" we have options. shaded hadoop jars on hadoop 3 
and regular hadoop 2 jars on hadoop 2. (the test on HBASE-20334 shows an 
example of determining this at operations time)

> 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