This is an automated email from the ASF dual-hosted git repository.

reidchan pushed a commit to branch branch-2.3
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/branch-2.3 by this push:
     new ddcd585  HBASE-26083 In branch-2 & branch-1 L1 miss metric is always 0 
when using CombinedBlockCache (#3473)
ddcd585 is described below

commit ddcd585069550057e21cefbbe99b6b1aac1a20c9
Author: YutSean <[email protected]>
AuthorDate: Fri Jul 16 10:28:27 2021 +0800

    HBASE-26083 In branch-2 & branch-1 L1 miss metric is always 0 when using 
CombinedBlockCache (#3473)
    
    Signed-off-by Anoop Sam John <[email protected]>
    Signed-off-by Reid Chan <[email protected]>
---
 .../java/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.java | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.java
index 36916359..00c9e2b 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/CombinedBlockCache.java
@@ -81,7 +81,13 @@ public class CombinedBlockCache implements 
ResizableBlockCache, HeapSize {
     // we end up calling l2Cache.getBlock.
     // We are not in a position to exactly look at LRU cache or BC as 
BlockType may not be getting
     // passed always.
-    return l1Cache.containsBlock(cacheKey)?
+    boolean existInL1 = l1Cache.containsBlock(cacheKey);
+    if (!existInL1 && updateCacheMetrics && !repeat) {
+      // If the block does not exist in L1, the containsBlock should be 
counted as one miss.
+      l1Cache.getStats().miss(caching, cacheKey.isPrimary(), 
cacheKey.getBlockType());
+    }
+
+    return existInL1 ?
         l1Cache.getBlock(cacheKey, caching, repeat, updateCacheMetrics):
         l2Cache.getBlock(cacheKey, caching, repeat, updateCacheMetrics);
   }

Reply via email to