[
https://issues.apache.org/jira/browse/HBASE-12295?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14569481#comment-14569481
]
Anoop Sam John commented on HBASE-12295:
----------------------------------------
Regarding the complexity in close/finalize on Result/Cell.
I think we need to put it in Cell.. Cell is the one available through out the
layers. So when a Cell is created at HFileScanner level and its data refers to
bucket cache shared memory area, we have to incr the ref count. When cell is
closed decr it. So after the usage, some one should call close on Cells. In a
normal path assume the cell is getting written in IPC layer, there the call can
happen.. All looks ok.
The issue is the possible ways via which the cell wont reach that IPC layer and
get filtered out. Can be by version expiry, TTL expiry, acl, visibility,
filter, cp etc.. All the core places we can make sure to call. But Filter/CP
can be custom made also. Even when a Filter converts a Cell using
transformCell(Cell) API, we have to make sure the old cell is being closed..
This was the part I was telling .. It looks all complex.. Am I explaining it
clearly now? Sorry for not being clear in old comments.
> 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_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)