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