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

stack commented on HBASE-9213:
------------------------------

[~sershe]

bq. Do we really need to ship all the dependencies?

No.  The work to prune what is needed is involved (you need to test multiple 
contexts to ensure a removed jar is not needed).  I've not done it as I do not 
have a week to set aside any time in my near future (and this work should 
rightly be done up in our parent project so more than just hbase benefits from 
the pruning)

HBase needs to run standalone mode so it needs to ship w/ an hadoop.  That has 
been our style up to this.

bq. As far as I understand you depend on both. 

No.  When we package for hadoop1 we depend on hadoop1 only.  Ditto hadoop2.

I don't follow the rest on your shim (it sounds good -- not doing two 
artifacts).

That is interesting to learn that the jars are different size.  I wonder what 
the diff is?  Maybe something dumb like includes have versions burned into the 
jar?  I'd think we should be able to have a hbase-common that would work w/ 
either hadoop.  It would be a bug if this were not so (I think).

bq. But you would need to include a particular one still, right?

Downstreamers would need to say if they want hadoop1 or hadoop2 version of 
hbase, yes.

I suppose we are forcing downstreamers to answer there hadoop1 or hadoop2 
question but I believe that unavoidable, right?  Downstreamers usually want 
stuff like HBaseTestingUtility so they can spin up a little cluster.  As soon 
as this is going on, they'll want an hdfs.  Because of this latter, they must 
make a choice.

I suppose we could do some work so that we hid hadoop1 or hadoop2 as much as 
possible but I've not done it (I am totally burnt on maven wrangling.  I'd 
rather dig my eyes out w/ a fork than spend any more time on build issues.  See 
the issues that led us to our current build for why my frustration.  
Fellow-travelers such as Elliot and Enis seemed to have the same experience so 
I don't think it a maven-blindness on my part).

Good on you Sergey.

                
> create a unified shim for hadoop 1 and 2 so that there's one build of HBase
> ---------------------------------------------------------------------------
>
>                 Key: HBASE-9213
>                 URL: https://issues.apache.org/jira/browse/HBASE-9213
>             Project: HBase
>          Issue Type: Brainstorming
>          Components: build
>            Reporter: Sergey Shelukhin
>             Fix For: 0.96.0
>
>
> This is a brainstorming JIRA. Working with HBase dependency at this point 
> seems to be rather painful from what I hear from other folks. We could do the 
> hive model with unified shim, built in such manner that it can work with 
> either version, where at build time dependencies for all 2-3 versions are 
> pulled and the appropriate one is used for tests, and when running HBase you 
> have to point at Hadoop directory to get the dependencies. I am not very 
> proficient at maven so not quite certain of the best solution yet.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to