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

ramkrishna.s.vasudevan updated HBASE-12295:
-------------------------------------------
    Release Note: 
We try to delay the eviction of the block till the cellblocks are formed at the 
Rpc layer. A simple reference counting mechanism is introduced when ever a 
block is accessed from the Bucket cache.  Once a scanner completes using a 
block the reference count is decremented.  The eviction of the block happens 
only when the reference count of that block is 0.
We also introduce a concept of ShareableMemory based on the type of blocks we 
create from the Block cache. The blocks from the ByteBufferIOEngine directly 
refer to the buckets in offheap and such blocks are marked SHARED memory type. 
The blocks from LRU, HDFS and file mode of Bucket cache are all marked 
EXCLUSIVE because these blocks have their own exclusive memory.
For the CP case, any cell coming out of SHARED memory block is copied before 
returning the results, because CPs can use the results as its state so that 
eviction cannot corrupt the results.

> Prevent block eviction under us if reads are in progress from the BBs
> ---------------------------------------------------------------------
>
>                 Key: HBASE-12295
>                 URL: https://issues.apache.org/jira/browse/HBASE-12295
>             Project: HBase
>          Issue Type: Sub-task
>          Components: regionserver, Scanners
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 2.0.0
>
>         Attachments: HBASE-12295.pdf, HBASE-12295_1.patch, HBASE-12295_1.pdf, 
> HBASE-12295_10.patch, HBASE-12295_12.patch, HBASE-12295_14.patch, 
> HBASE-12295_15.patch, HBASE-12295_16.patch, HBASE-12295_16.patch, 
> HBASE-12295_17.patch, HBASE-12295_18.patch, HBASE-12295_2.patch, 
> HBASE-12295_21.patch, HBASE-12295_4.patch, HBASE-12295_4.pdf, 
> HBASE-12295_5.pdf, HBASE-12295_9.patch, HBASE-12295_final.patch, 
> HBASE-12295_trunk.patch
>
>
> While we try to serve the reads from the BBs directly from the block cache, 
> we need to ensure that the blocks does not get evicted under us while 
> reading.  This JIRA is to discuss and implement a strategy for the same.



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

Reply via email to