[
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