[
https://issues.apache.org/jira/browse/HBASE-9807?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13800270#comment-13800270
]
Lars Hofhansl commented on HBASE-9807:
--------------------------------------
[~mcorgan], wanna have a look? Can you think of a way of avoiding this copy? I
guess we could partial compares, since we know the scanner won't progress
throughout this call.
> scanning with block encoding unnecessarily copies the key for each reseek
> -------------------------------------------------------------------------
>
> Key: HBASE-9807
> URL: https://issues.apache.org/jira/browse/HBASE-9807
> Project: HBase
> Issue Type: Bug
> Reporter: Lars Hofhansl
> Assignee: Lars Hofhansl
> Fix For: 0.98.0, 0.94.13, 0.96.1
>
> Attachments: 9807-0.94.txt, 9807-0.94-v2.txt, 9807-0.94-v3.txt,
> 9807-trunk-v1.txt
>
>
> In HFileReaderV2.AbstractScannerV2.reseekTo(...) we have this:
> {code}
> ByteBuffer bb = getKey();
> compared = reader.getComparator().compare(key, offset,
> length, bb.array(), bb.arrayOffset(), bb.limit());
> {code}
> {{getKey()}} creates to ByteBuffers in ScannerV2 and makes a deep copy of the
> key in EncodedScannerV2.
--
This message was sent by Atlassian JIRA
(v6.1#6144)