From b6649a8784d13b66463e354d586daeed3955961a Mon Sep 17 00:00:00 2001 From: pustota2009 <61382543+pustota2009@users.noreply.github.com> Date: Mon, 15 Feb 2021 18:13:33 +0300 Subject: [PATCH] HBASE-23887 Bug fix heavyEvictionMbSizeLimit (ADDENDUM) (#2957) Signed-off-by: Viraj Jasani --- .../hadoop/hbase/io/hfile/LruAdaptiveBlockCache.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/LruAdaptiveBlockCache.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/LruAdaptiveBlockCache.java index 083f1098af5..99a3a2b5a21 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/LruAdaptiveBlockCache.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/LruAdaptiveBlockCache.java @@ -388,6 +388,12 @@ public class LruAdaptiveBlockCache implements FirstLevelBlockCache { * @param singleFactor percentage of total size for single-access blocks * @param multiFactor percentage of total size for multiple-access blocks * @param memoryFactor percentage of total size for in-memory blocks + * @param hardLimitFactor hard capacity limit + * @param forceInMemory in-memory hfile's data block has higher priority when evicting + * @param maxBlockSize maximum block size for caching + * @param heavyEvictionCountLimit when starts AdaptiveLRU algoritm work + * @param heavyEvictionMbSizeLimit how many bytes desirable putting into BlockCache + * @param heavyEvictionOverheadCoefficient how aggressive AdaptiveLRU will reduce GC */ public LruAdaptiveBlockCache(long maxSize, long blockSize, boolean evictionThread, int mapInitialSize, float mapLoadFactor, int mapConcurrencyLevel, @@ -434,7 +440,7 @@ public class LruAdaptiveBlockCache implements FirstLevelBlockCache { // check the bounds this.heavyEvictionCountLimit = Math.max(heavyEvictionCountLimit, 0); - this.heavyEvictionMbSizeLimit = Math.max(heavyEvictionCountLimit, 1); + this.heavyEvictionMbSizeLimit = Math.max(heavyEvictionMbSizeLimit, 1); this.cacheDataBlockPercent = 100; heavyEvictionOverheadCoefficient = Math.min(heavyEvictionOverheadCoefficient, 1.0f); heavyEvictionOverheadCoefficient = Math.max(heavyEvictionOverheadCoefficient, 0.001f);