[ 
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

Reply via email to