From e95bdf415cea2190083150e3f8f6cea8995550d6 Mon Sep 17 00:00:00 2001 From: syedmurtazahassan Date: Tue, 23 Jul 2019 04:40:32 +0200 Subject: [PATCH] HBASE-22610 [BucketCache] Rename hbase.offheapcache.minblocksize * Deprecated old attribute and introduced a new one * Removed unnecessary import * Added two import configs and removed one Signed-off-by: Reid Chan --- .../hbase/io/hfile/BlockCacheFactory.java | 24 ++++++++++++++++--- 1 file changed, 21 insertions(+), 3 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 4d62992408d..4ee49770061 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 @@ -78,20 +78,38 @@ 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.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; 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;