You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Wellington Chevreuil (Jira)" <ji...@apache.org> on 2022/11/08 21:04:00 UTC

[jira] [Created] (HBASE-27474) Evict blocks on split/merge; Avoid caching reference/hlinks if compaction is enabled

Wellington Chevreuil created HBASE-27474:
--------------------------------------------

             Summary: Evict blocks on split/merge; Avoid caching reference/hlinks if compaction is enabled
                 Key: HBASE-27474
                 URL: https://issues.apache.org/jira/browse/HBASE-27474
             Project: HBase
          Issue Type: Improvement
    Affects Versions: 3.0.0-alpha-3
            Reporter: Wellington Chevreuil
            Assignee: Wellington Chevreuil


This change aims to improve block cache usage upon splits/merges. On a split/merge event the following main steps happen:

1) parent regions are closed; 2) daughters are created and opened with refs/hlinks; 3) Compaction is triggered soon after the daughters get online;

With "hbase.rs.evictblocksonclose" set to false, we keep all blocks for the closed regions in 1, then will try to load same blocks again on 2 (since we are using the refs/links for the cache key), just to throw it away and cache the compaction resulting file in 3. 

If the block cache is close to its capacity, blocks from the compacted files in 3 will likely miss the cache.

The proposal here is to always evict blocks for parent regions on a split/merge event, and also avoid caching blocks for refs/hlinks if compactions are enabled. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)