hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Hsieh (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-9383) Have Cell interface extend HeapSize interface
Date Tue, 03 Sep 2013 17:57:53 GMT

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

Jonathan Hsieh commented on HBASE-9383:

bq. If for now you're just trying to replace KeyValue references with Cell and get all the
generics working, tests passing, etc, then you may be ok having Cell's heapSize returning
as if it's a fully expanded KeyValue. I don't think it would break anything.
bq. Maybe make KeyValueUtil.heapSize(Cell cell) and calling it from within all Cell implementations.
Or, does it even need to be in the implementation, or can be just a util method? Is it ever
called polymorphically?

To get test passing and to keep the changes from HBASE-9334/9259 semantics preserving, right
now I use KeyValueUtil.ensureKeyValue(Cell) to convert to a KV and then call the heap size
method.  I believe they are all KV's behind the scene at the moment so this is a cheap operation.

I generally prefer having interface be sparse -- it is harder to remove methods than to add
them.  My instinct is to keep it out until we percolate encodings into memstores or other
places (they client) it it becomes clear that adding it makes sense.
> Have Cell interface extend HeapSize interface
> ---------------------------------------------
>                 Key: HBASE-9383
>                 URL: https://issues.apache.org/jira/browse/HBASE-9383
>             Project: HBase
>          Issue Type: Sub-task
>    Affects Versions: 0.96.0
>            Reporter: Jonathan Hsieh
> From the review of HBASE-9359. 
> bq. Stack: Cell should implement HeapSize?  That sounds right.
> bq. Ram: +1 for Cell extending HeapSize.
> bq. Jon: I'll look into Cell extending HeapSize as a follow on.  It doesn't interfere
with the signature and if a older 0.96 client talks to a 0.96.1 rs that has the change, it
won't matter.

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

View raw message