You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Guanghao Zhang (JIRA)" <ji...@apache.org> on 2018/11/19 04:15:00 UTC

[jira] [Commented] (HBASE-21498) Master OOM when SplitTableRegionProcedure new CacheConfig and instantiate a new BlockCache

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

Guanghao Zhang commented on HBASE-21498:
----------------------------------------

Add a 001 path without ut to see the HADOOP QA result. Will add ut later.

When new CacheConfig, it always try to instantiate a new BlockCache but we never say this in the javadoc comment. I thought we should only instantiate BlockCache by call instantiateBlockCache method. instantiateBlockCache will create a new BlockCache and assign it to a class static varaiable GLOBAL_BLOCK_CACHE_INSTANCE. And each CacheConfig have a local reference to this GLOBAL_BLOCK_CACHE_INSTANCE.

> Master OOM when SplitTableRegionProcedure new CacheConfig and instantiate a new BlockCache
> ------------------------------------------------------------------------------------------
>
>                 Key: HBASE-21498
>                 URL: https://issues.apache.org/jira/browse/HBASE-21498
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Guanghao Zhang
>            Assignee: Guanghao Zhang
>            Priority: Major
>         Attachments: HBASE-21498.master.001.patch
>
>
> In our cluster, we use a small heap/offheap config for master. After HBASE-21290, master doesn't instantiate BlockCache when it not carry table. But it will new CacheConfig in SplitTableRegionProcedure.splitStoreFiles method. And it will instantiate a new BlockCache if it not initialized before and make master OOM.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)