[
https://issues.apache.org/jira/browse/HBASE-21498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16694526#comment-16694526
]
Anoop Sam John commented on HBASE-21498:
----------------------------------------
bq. if (!(this instanceof HMaster && !LoadBalancer.isTablesOnMaster(conf))) {
More than one negate with &&.. Difficult wrt readability of code. Can we
simplify pls?
Not on this patch.. But we have a problem in UTs with mini cluster. Even if
there are n RSs, we will end up creating one BC only and share.
CacheConfig.instantiateBlockCache(conf);
...
cacheConfig = new CacheConfig(conf);
A bit strange this sequence.
We have many constructors in CacheConfig. Do we really need all? We can
reduce? Passing around the static singleton object looks a bit odd.
> 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,
> HBASE-21498.master.002.patch, HBASE-21498.master.003.patch,
> HBASE-21498.master.004.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)