HBASE-26083 In branch-2 & branch-1 L1 miss metric is always 0 when using CombinedBlockCache (#3473)

Signed-off-by Anoop Sam John <anoopsamjohn@apache.org>
Signed-off-by Reid Chan <reidchan@apache.org>
This commit is contained in:
YutSean 2021-07-16 10:28:27 +08:00 committed by Reid Chan
parent 1d0cfa9ed4
commit 5ee1447b55

View File

@ -78,7 +78,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);
}