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

Lars Hofhansl commented on HBASE-10974:
---------------------------------------

There are two places where this happens:
StoreFilescanner.next() and KeyValueHeap.next(). The issue is that we support 
peek() and seek() and the seek() contract is that that next() returns what we 
seeked to. That said, it might be possible to express this logic without 
eagerly calling next().

The key is, I suppose, that the entire scanner stack above StoreFileScanner 
always uses exactly one KV (the current one). If that were the case we could 
allocate and reuse a single KV object. Do I understand this correctly 
[~mcorgan]?


> Improve DBEs read performance by avoiding byte array deep copies for key[] 
> and value[]
> --------------------------------------------------------------------------------------
>
>                 Key: HBASE-10974
>                 URL: https://issues.apache.org/jira/browse/HBASE-10974
>             Project: HBase
>          Issue Type: Improvement
>          Components: Scanners
>    Affects Versions: 0.99.0
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.99.0
>
>         Attachments: HBASE-10974_1.patch
>
>
> As part of HBASE-10801, we  tried to reduce the copy of the value [] in 
> forming the KV from the DBEs. 
> The keys required copying and this was restricting us in using Cells and 
> always wanted to copy to be done.
> The idea here is to replace the key byte[] as ByteBuffer and create a 
> consecutive stream of the keys (currently the same byte[] is used and hence 
> the copy).  Use offset and length to track this key bytebuffer.
> The copy of the encoded format to normal Key format is definitely needed and 
> can't be avoided but we could always avoid the deep copy of the bytes to form 
> a KV and thus use cells effectively. Working on a patch, will post it soon.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to