[
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)