diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.java index 8f001a1..77a9186 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HeapMemoryManager.java @@ -111,6 +111,7 @@ public class HeapMemoryManager { } private boolean doInit(Configuration conf) { + boolean tuningEnabled = true; globalMemStorePercent = HeapMemorySizeUtil.getGlobalMemStorePercent(conf, false); blockCachePercent = conf.getFloat(HFILE_BLOCK_CACHE_SIZE_KEY, HConstants.HFILE_BLOCK_CACHE_SIZE_DEFAULT); @@ -136,7 +137,7 @@ public class HeapMemoryManager { } if (globalMemStorePercent == globalMemStorePercentMinRange && globalMemStorePercent == globalMemStorePercentMaxRange) { - return false; + tuningEnabled = false; } // Initialize max and min range for block cache blockCachePercentMinRange = conf.getFloat(BLOCK_CACHE_SIZE_MIN_RANGE_KEY, blockCachePercent); @@ -155,9 +156,9 @@ public class HeapMemoryManager { blockCachePercentMaxRange = blockCachePercent; conf.setFloat(BLOCK_CACHE_SIZE_MAX_RANGE_KEY, blockCachePercentMaxRange); } - if (blockCachePercent == blockCachePercentMinRange + if (tuningEnabled && blockCachePercent == blockCachePercentMinRange && blockCachePercent == blockCachePercentMaxRange) { - return false; + tuningEnabled = false; } int gml = (int) (globalMemStorePercentMaxRange * CONVERT_TO_PERCENTAGE); @@ -183,7 +184,7 @@ public class HeapMemoryManager { + globalMemStorePercentMinRange + " and " + BLOCK_CACHE_SIZE_MAX_RANGE_KEY + " is " + blockCachePercentMaxRange); } - return true; + return tuningEnabled; } public void start(ChoreService service) {