From 3dd5e450f22eb1040ef2d2383f88febcb0204aa1 Mon Sep 17 00:00:00 2001 From: Murtaza Hassan Date: Mon, 15 Jul 2019 20:04:28 +0200 Subject: [PATCH 1/4] HBASE-22610 [BucketCache] Rename hbase.offheapcache.minblocksize. --- .../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.java index 4d62992408dc..ab1e551f3892 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.java @@ -81,7 +81,7 @@ public final class BlockCacheFactory { * TODO: this config point is completely wrong, as it's used to determine the * target block size of BlockCache instances. Rename. */ - public static final String BLOCKCACHE_BLOCKSIZE_KEY = "hbase.offheapcache.minblocksize"; + public static final String BLOCKCACHE_BLOCKSIZE_KEY = "hbase.blockcache.minblocksize"; private static final String EXTERNAL_BLOCKCACHE_KEY = "hbase.blockcache.use.external"; private static final boolean EXTERNAL_BLOCKCACHE_DEFAULT = false; From f8076a7d5b3ce9735b87adb3ce5844a0fa7dd64e Mon Sep 17 00:00:00 2001 From: Murtaza Hassan Date: Thu, 18 Jul 2019 15:45:25 +0200 Subject: [PATCH 2/4] HBASE-22610 [BucketCache] Rename hbase.offheapcache.minblocksize. Deprecated old attribute and introduced a new one --- .../hbase/io/hfile/BlockCacheFactory.java | 28 +++++++++++++++---- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.java index ab1e551f3892..c55be0cbbdbf 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.java @@ -17,14 +17,12 @@ */ package org.apache.hadoop.hbase.io.hfile; -import static org.apache.hadoop.hbase.HConstants.BUCKET_CACHE_IOENGINE_KEY; -import static org.apache.hadoop.hbase.HConstants.BUCKET_CACHE_SIZE_KEY; - import java.io.IOException; import java.util.concurrent.ForkJoinPool; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HConstants; +import org.apache.hadoop.hbase.io.ByteBuffAllocator; import org.apache.hadoop.hbase.io.hfile.bucket.BucketCache; import org.apache.hadoop.hbase.io.util.MemorySizeUtil; import org.apache.hadoop.hbase.util.ReflectionUtils; @@ -33,6 +31,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import static org.apache.hadoop.hbase.HConstants.*; + @InterfaceAudience.Private public final class BlockCacheFactory { @@ -78,8 +78,6 @@ public final class BlockCacheFactory { /** * The target block size used by blockcache instances. Defaults to * {@link HConstants#DEFAULT_BLOCKSIZE}. - * TODO: this config point is completely wrong, as it's used to determine the - * target block size of BlockCache instances. Rename. */ public static final String BLOCKCACHE_BLOCKSIZE_KEY = "hbase.blockcache.minblocksize"; @@ -88,10 +86,30 @@ public final class BlockCacheFactory { private static final String EXTERNAL_BLOCKCACHE_CLASS_KEY = "hbase.blockcache.external.class"; + /** + * @deprecated use {@link BlockCacheFactory#BLOCKCACHE_BLOCKSIZE_KEY} instead. + */ + @Deprecated + static final String DEPRECATED_BLOCKCACHE_BLOCKSIZE_KEY = "hbase.blockcache.minblocksize"; + + /** + * The config point hbase.offheapcache.minblocksize is completely wrong, which is replaced by + * {@link BlockCacheFactory#BLOCKCACHE_BLOCKSIZE_KEY}. Keep the old config key here for backward + * compatibility. + */ + static { + Configuration.addDeprecation(DEPRECATED_BLOCKCACHE_BLOCKSIZE_KEY, BLOCKCACHE_BLOCKSIZE_KEY); + } + private BlockCacheFactory() { } public static BlockCache createBlockCache(Configuration conf) { + if (conf.get(DEPRECATED_BLOCKCACHE_BLOCKSIZE_KEY) != null) { + LOG.warn("The config key {} is deprecated now, instead please use {}. In future release " + + "we will remove the deprecated config.", DEPRECATED_BLOCKCACHE_BLOCKSIZE_KEY, + BLOCKCACHE_BLOCKSIZE_KEY); + } FirstLevelBlockCache l1Cache = createFirstLevelCache(conf); if (l1Cache == null) { return null; From 5316b191036cadeb84c2c91a04dbc3cca00eafe8 Mon Sep 17 00:00:00 2001 From: Murtaza Hassan Date: Thu, 18 Jul 2019 15:49:00 +0200 Subject: [PATCH 3/4] HBASE-22610 [BucketCache] Rename hbase.offheapcache.minblocksize. Removed unnecessary import --- .../java/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.java | 1 - 1 file changed, 1 deletion(-) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.java index c55be0cbbdbf..0ed1531f2772 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.java @@ -22,7 +22,6 @@ import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HConstants; -import org.apache.hadoop.hbase.io.ByteBuffAllocator; import org.apache.hadoop.hbase.io.hfile.bucket.BucketCache; import org.apache.hadoop.hbase.io.util.MemorySizeUtil; import org.apache.hadoop.hbase.util.ReflectionUtils; From f1aee3eaf2816f23460b22322927b40cf58aafb7 Mon Sep 17 00:00:00 2001 From: Murtaza Hassan Date: Mon, 22 Jul 2019 09:22:04 +0200 Subject: [PATCH 4/4] HBASE-22610 added two import configs and removed one --- .../org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.java index 0ed1531f2772..4ee49770061d 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.java @@ -17,6 +17,9 @@ */ package org.apache.hadoop.hbase.io.hfile; +import static org.apache.hadoop.hbase.HConstants.BUCKET_CACHE_IOENGINE_KEY; +import static org.apache.hadoop.hbase.HConstants.BUCKET_CACHE_SIZE_KEY; + import java.io.IOException; import java.util.concurrent.ForkJoinPool; @@ -30,8 +33,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import static org.apache.hadoop.hbase.HConstants.*; - @InterfaceAudience.Private public final class BlockCacheFactory {