[ https://issues.apache.org/jira/browse/HBASE-9213?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13750415#comment-13750415 ]
stack commented on HBASE-9213: ------------------------------ If we did what hive did, questions: 1. We would complicate the simple case, running hbase standalone ("Download hbase binary, if hadoop 1.x.x, copy jars a, b, c to lib, if hadoop 2.x.x, copy jars d, e, f. Do not copy hadoop 0.20 jars because we do not work unless you .... and so on"). We already get dinged on being "complicated". We would be raising the bar for the folks who just want to try it out. 2. How do the hive shims work? Is it download hive, put in place the hive-hadoop-2 shim, and then add in hadoop2? Or is it download hive and put in place hadoop2 (and hive will figure via reflection what it has under it and then invoke the approriate hadoop1 or hadoop2 method?). If the former, that is what we have now (our shims are called hbase-hadoop*-compat). If the latter case, then IIUC, it would be untenable us doing reflection to figure if hadoop metrics1 or hadoop metrics2 and then per metric, make the appropriate invocation; we'd make a horrid reflection spaghetti. Maybe we could have a setup script where you say what you want to run against and we then go fetch what we need (including compat modules from maven) and then you start hbase (this'd work for standalone mode but then how to distinguish from actual install-on-a-cluster) 1. This is basically still correct for building different tgzs http://hbase.apache.org/book.html#build (I need to update) 4. Hard thing about another build tool is that in the end we have to publish to a maven repo somehow; we could have a build tool and then have another script to do maven publish (and I'm wary that "all is fixed if you just use this other build tool" -- heard that one before). > 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 > > 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