hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "zhangduo (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-12295) Prevent block eviction under us if reads are in progress from the BBs
Date Mon, 09 Feb 2015 07:18:35 GMT

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

zhangduo commented on HBASE-12295:

Oh, here it is.

I would say this is the most important thing if we want to avoid copying.

A simple way is using phantom reference, but the disadvantage is also evident, we can not
trigger a gc that only scan BucketCacheEntries when BucketCache is full(Actually I only know
that System.gc() can trigger a FullGC on hotspot JVM).

Another way is maintaining reference counting by ourselves. But this is also hard since we
even want to use the BB that fetched from BucketCache in RpcServer. There are too many places
we need to decrease reference count because we can drop the BB in many ways(rpc send message
over, scanner skip, exception...).

What do you guys think? Thanks~

> 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
> 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

View raw message