[ 
https://issues.apache.org/jira/browse/HBASE-10801?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ramkrishna.s.vasudevan updated HBASE-10801:
-------------------------------------------

    Attachment: HBASE-10801_3.patch

[~mcorgan]
Could you take a look at this patch.  I am not sure if we can change the logic 
of how the hfs.next() is getting called. Generally the next KV is also fetched 
and the comparison is done to load the next store file if the key is already 
seeked key is already bigger.  Changing that would be a bigger task too.
So for now I have done a work around way where only the key is deepcloned 
whereas the value is not copied just referred to the actual underlying array.  
(This is the power of Cell).  So in cases where the value part is bigger we 
don't do any copy of that and this would help in all the comparisons and the 
fetching of the exact KV and the copy happens at the last stage where we need 
KVs.  
Two things
Instead of deep copying of the value[] we create other objects and need to 
check how much is that a overhead.
Because our code still works with KV as an end result, the key copying would 
happen twice - once in the BDE and other when the KeyValueUtil.ensureKeyValue 
is called.

> Ensure DBE interfaces can work with Cell
> ----------------------------------------
>
>                 Key: HBASE-10801
>                 URL: https://issues.apache.org/jira/browse/HBASE-10801
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.99.0
>
>         Attachments: HBASE-10801.patch, HBASE-10801_1.patch, 
> HBASE-10801_2.patch, HBASE-10801_3.patch
>
>
> Some changes to the interfaces may be needed for DBEs or may be the way it 
> works currently may be need to be modified inorder to make DBEs work with 
> Cells. Suggestions and ideas welcome.



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

Reply via email to