Repository: hbase
Updated Branches:
  refs/heads/branch-1 e469466cf -> 7df1582e1


HBASE-11949 Setting hfile.block.cache.size=0 doesn't actually disable blockcache


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/7df1582e
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/7df1582e
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/7df1582e

Branch: refs/heads/branch-1
Commit: 7df1582e1438535227c6b6d122056d57969b279d
Parents: e469466
Author: Nick Dimiduk <ndimi...@apache.org>
Authored: Thu Sep 11 14:35:25 2014 -0700
Committer: Nick Dimiduk <ndimi...@apache.org>
Committed: Fri Sep 12 11:37:12 2014 -0700

----------------------------------------------------------------------
 .../main/java/org/apache/hadoop/hbase/io/hfile/CacheConfig.java   | 3 +++
 1 file changed, 3 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/7df1582e/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/CacheConfig.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/CacheConfig.java 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/CacheConfig.java
index 3ffac52..02e7fec 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/CacheConfig.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/CacheConfig.java
@@ -465,6 +465,7 @@ public class CacheConfig {
    */
   private static LruBlockCache getL1(final Configuration c, final MemoryUsage 
mu) {
     long lruCacheSize = getLruCacheSize(c, mu);
+    if (lruCacheSize < 0) return null;
     int blockSize = c.getInt(BLOCKCACHE_BLOCKSIZE_KEY, 
HConstants.DEFAULT_BLOCKSIZE);
     LOG.info("Allocating LruBlockCache size=" +
       StringUtils.byteDesc(lruCacheSize) + ", blockSize=" + 
StringUtils.byteDesc(blockSize));
@@ -530,6 +531,8 @@ public class CacheConfig {
     if (blockCacheDisabled) return null;
     MemoryUsage mu = ManagementFactory.getMemoryMXBean().getHeapMemoryUsage();
     LruBlockCache l1 = getL1(conf, mu);
+    // blockCacheDisabled is set as a side-effect of getL1(), so check it 
again after the call.
+    if (blockCacheDisabled) return null;
     BucketCache l2 = getL2(conf, mu);
     if (l2 == null) {
       GLOBAL_BLOCK_CACHE_INSTANCE = l1;

Reply via email to