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

ramkrishna.s.vasudevan updated HBASE-12282:
-------------------------------------------
    Attachment: HBASE-12224_2.patch

This patch is like a POC and has some of the subtasks implemented at a high 
level. Includes Cell level interface changes, API needed for the trackers and 
how the CellComparator handles BBs and bytes[].
But this would not be the exact way how things will work but will give us an 
idea how things will shape up once all the subtasks are done.  The patch just 
deals with HFileReader and the StoreScanner.  Just ensures that all test cases 
in TestStore passes except one which needs a change in the bloom filter.
Discussing with Anoop on this and just noting down things as and when wanted to 
make changes were
-> We lose the optimization done by Vladimir - HBASE-12090
-> BBs may have more index and position management internally.  BR may come 
handy here.
-> If we want to deal with BBs one issue in case of DBB is that max size of 
integer is the max size of a DBB that can be allocated.  How can that be 
addressed. Can our HFileBlock be bigger than that?
-> We may need to do some copy from the BB to a byte[] when we create some fake 
keys or keys like first on row, last on row etc.
-> We have to ensure that from the HFileREader onwards arrayOffset() should not 
be called if the BB is offheap.  (Not done)
-> Memstore and memstore impl should support BB. Already subtask raised for it. 
 Anoop's work would be of help here. Can disucss with him.
-> Write path also needs to handle these BBs in cases of Bloom filters. 

Some of the steps followed in the patch could be hacky but if we could find 
ways to address them then we can move towards the goal of BB in read path 
slowly.  Based on the feed back will work on the sub jira raised- from next 
week as am on vacation for the rest of the week.

> Ensure Cells and its implementations work with Buffers also
> -----------------------------------------------------------
>
>                 Key: HBASE-12282
>                 URL: https://issues.apache.org/jira/browse/HBASE-12282
>             Project: HBase
>          Issue Type: Sub-task
>          Components: regionserver, Scanners
>    Affects Versions: 0.99.1
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 2.0.0, 0.99.2
>
>         Attachments: HBASE-12224_2.patch
>
>
> This issue can be used to brainstorm and then do the necessary changes for 
> the offheap work.  All impl of cells deal with byte[] but when we change the 
> Hfileblocks/Readers to work purely with Buffers then the byte[] usage would 
> mean that always the data is copied to the onheap.  Cell may need some 
> interface change to implement this.



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

Reply via email to