From 92311976403e64c65457913602a8261ca8d96072 Mon Sep 17 00:00:00 2001 From: Viraj Jasani Date: Sat, 4 Jan 2020 17:07:42 +0530 Subject: [PATCH] HBASE-23588 : Cache index & bloom blocks on write (ADDENDUM) --- .../hadoop/hbase/regionserver/HStore.java | 23 +++++++++++++------ 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java index 0a4f5cf594..cc8ca25333 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java @@ -159,6 +159,8 @@ public class HStore implements Store, HeapSize, StoreConfigInformation, Propagat private AtomicLong storeSize = new AtomicLong(); private AtomicLong totalUncompressedBytes = new AtomicLong(); + private boolean logCacheOnWriteOnce; + /** * RWLock for store operations. * Locked in shared mode when the list of component stores is looked at: @@ -338,6 +340,7 @@ public class HStore implements Store, HeapSize, StoreConfigInformation, Propagat getColumnFamilyName(), memstore.getClass().getSimpleName(), policyName, verifyBulkLoads, parallelPutCountPrintThreshold, family.getDataBlockEncoding(), family.getCompressionType()); + logCacheOnWriteOnce = true; } /** @@ -1120,15 +1123,18 @@ public class HStore implements Store, HeapSize, StoreConfigInformation, Propagat if (isCompaction) { // Don't cache data on write on compactions, unless specifically configured to do so writerCacheConf = new CacheConfig(cacheConf); - final boolean shouldCacheCompactedBlocksOnWrite = cacheConf - .shouldCacheCompactedBlocksOnWrite(); + final boolean cacheCompactedBlocksOnWrite = + cacheConf.shouldCacheCompactedBlocksOnWrite(); // if data blocks are to be cached on write // during compaction, we should forcefully // cache index and bloom blocks as well - if (shouldCacheCompactedBlocksOnWrite) { + if (cacheCompactedBlocksOnWrite) { writerCacheConf.enableCacheOnWrite(); - LOG.info("cacheCompactedBlocksOnWrite is true, hence enabled cacheOnWrite for " + - "Data blocks, Index blocks and Bloom filter blocks"); + if (logCacheOnWriteOnce) { + LOG.info("cacheCompactedBlocksOnWrite is true, hence enabled cacheOnWrite for " + + "Data blocks, Index blocks and Bloom filter blocks"); + logCacheOnWriteOnce = false; + } } else { writerCacheConf.setCacheDataOnWrite(false); } @@ -1137,8 +1143,11 @@ public class HStore implements Store, HeapSize, StoreConfigInformation, Propagat final boolean shouldCacheDataOnWrite = cacheConf.shouldCacheDataOnWrite(); if (shouldCacheDataOnWrite) { writerCacheConf.enableCacheOnWrite(); - LOG.info("cacheDataOnWrite is true, hence enabled cacheOnWrite for " + - "Index blocks and Bloom filter blocks"); + if (logCacheOnWriteOnce) { + LOG.info("cacheDataOnWrite is true, hence enabled cacheOnWrite for " + + "Index blocks and Bloom filter blocks"); + logCacheOnWriteOnce = false; + } } } InetSocketAddress[] favoredNodes = null; -- 2.17.2 (Apple Git-113)