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

stack commented on HBASE-13448:
-------------------------------

I think this issue is actually a critical part of our moving to Cell.

+ Currently, our KeyValue comparators do a bunch of 'carry-over' of calculated 
lengths -- e.g. key, value, row, family, etc., lengths -- from method to method 
so we don't have to recalc each time (because reparse costs CPU).
+ Moving to the Cell Interface and CellComparator, Cell does not expose means 
for passing 'carry-over's, and besides, carry-overs only boost parse when the 
Cell is serialized as our KeyValue is now (they may help when the serialization 
format is otherwise, but may also be of no use).
+ The CellComparator patch over in HBASE-10800 which replaces all 
KeyValueComparators with CellComparator currently preserves methods that take 
'carry-over', methods that won't make much sense when the serialization is 
other than current KeyValue.
+  We will need to remove all the carry-over methods in CellComparator to undo 
our explicit dependence on KeyValue serialization.

Having the Cell internally do the caching rather than have the caller call the 
appropriate methods with a carry-over will be the way to go going forward. Cell 
knows best what needs caching.

> New Cell implementation with cached component offsets/lengths
> -------------------------------------------------------------
>
>                 Key: HBASE-13448
>                 URL: https://issues.apache.org/jira/browse/HBASE-13448
>             Project: HBase
>          Issue Type: Sub-task
>          Components: Scanners
>            Reporter: Anoop Sam John
>            Assignee: Anoop Sam John
>         Attachments: HBASE-13448.patch, gc.png, hits.png
>
>
> This can be extension to KeyValue and can be instantiated and used in read 
> path.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to