hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matt Corgan (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-6162) Move KeyValue to hbase-common module
Date Tue, 05 Jun 2012 22:44:23 GMT

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

Matt Corgan commented on HBASE-6162:

I started going down that path, but i believe it turned out to be an even bigger refactoring
than is obvious at first.  I also think it's ok for the common module to contain code that
only the server knows about as long as it is small, unit-testable, and has few dependencies.
 This kind of code can be tightly verified with unit tests and actually helps to de-clutter
the bigger server module.  I figured these two comparators were just some simple byte operations
(no exceptions, threads, IO, reflection, etc), so they are simple enough to be in common.

Another way to look at it is that the higher up the module tree you go (towards util/common),
the more bullet-proof the code needs to be, and I thought these two comparators should be
as bullet-proof as can be.  We'd like the server module to be bullet-proof, but it will never
be as rock-solid as common.  And by the time you get down to the web or avro modules or other
3rd party contributions things can get pretty hairy.

It's a discussion that will keep popping up though.  I'm happy to give it another stab the
other way... just wanted to explain some of the thinking.

> Move KeyValue to hbase-common module
> ------------------------------------
>                 Key: HBASE-6162
>                 URL: https://issues.apache.org/jira/browse/HBASE-6162
>             Project: HBase
>          Issue Type: Improvement
>    Affects Versions: 0.96.0
>            Reporter: Matt Corgan
>            Assignee: Matt Corgan
>             Fix For: 0.96.0
>         Attachments: HBASE-6162-v1.patch
> * pull KeyValue up to hbase-common module
> This is part of the modularization strategy in HBASE-5977, and is specifically necessary
to modularize HBASE-4676.
> also brings these classes to hbase-common:
> * ClassSize, HeapSize
> * HTestConst
> * TestKeyValue, KeyValueTestUtil
> * LoadTestKVGenerator, TestLoadTestKVGenerator
> * MD5Hash
> moves a trivial constant (HRegionInfo.DELIMITER) from HRegionInfo to HConstants

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


View raw message