[
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