In general, if HBase uses only the public API of Hadoop.  HBase should be able 
to work with multiple version of Hadoop.  However, the reality is not so 
trivial.  Some Hadoop API are not fully compatible between major version of 
Hadoop.  This was observed between HBase 0.90.x and Hadoop 0.20.203.  i.e. 
First introduction of Hadoop Metrics V2 Framework and removed Hadoop Metrics V1 
framework caused Hadoop 0.20.200-203 to be incompatible with HBase.  Some 
effort was put into restore and forward porting features to ensure HBase 0.90.x 
and Hadoop 0.20.205.0 can work together.  I recommend that one HBase release 
should be certified for one major release of Hadoop to reduce risk.  Perhaps 
when public Hadoop API are rock solid, then it will become feasible to have a 
version of HBase that work across multiple version of Hadoop.

In proposed HBase structure layout change (HBASE-4337), the packaging process 
excludes inclusion of Hadoop jar file, and pick up from constructed class path. 
 In the effort of ensuring Hadoop related technology can work together in 
integrated fashion (File system layout change in HADOOP-6255).  This is the 
starting point to ensure that Hadoop can be swap out with a different major 
version for test.  Once the proposed structure is adopted, HBase community can 
setup integration test for HBase with multiple Hadoop major release.

regards,
Eric

On Nov 11, 2011, at 9:27 AM, Stack wrote:

> On Fri, Nov 11, 2011 at 8:58 AM, Roman Shaposhnik <[email protected]> wrote:
>> On Fri, Nov 11, 2011 at 8:56 AM, Alejandro Abdelnur <[email protected]> 
>> wrote:
>>> Hi Stack,
>>> 
>>> Are all those builds exactly the same bits?
>> 
>> No, they are not. That's exactly the problem I was alluding to.
>> 
> 
> They are not?  We were trying to use reflection to figure what our
> underpinnings are and then proceed accordingly.  I can imagine we've
> missed spots but thats overall intent; i.e. we'd like the same bits
> work on 0.20.205.x, 0.22.x, and 0.23.x hadoops.
> 
> Releasing a tarball per hadoop (multiply the number over of versions
> by two since we'll want to have secure and insecure hbase I believe)
> makes me queasy.
> 
> St.Ack

Reply via email to