bbeaudreault commented on code in PR #4410:
URL: https://github.com/apache/hbase/pull/4410#discussion_r912549836
##########
hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/BlockCacheFactory.java:
##########
@@ -113,7 +117,17 @@ public static BlockCache createBlockCache(Configuration
conf) {
LOG.warn(
"From HBase 2.0 onwards only combined mode of LRU cache and bucket
cache is available");
}
- return bucketCache == null ? l1Cache : new CombinedBlockCache(l1Cache,
bucketCache);
+
+ if (bucketCache == null) {
+ return l1Cache;
+ }
+
+ if (conf.getBoolean(BLOCKCACHE_VICTIM_HANDLER_ENABLED_KEY,
+ BLOCKCACHE_VICTIM_HANDLER_ENABLED_DEFAULT)) {
+ return new InclusiveCombinedBlockCache(l1Cache, bucketCache);
Review Comment:
This change makes sense to me. I was disappointed to see the victim handling
removed in 2.x, and I think it would be good to add it back.
We have some regionservers where the index + bloom is too big to fit into an
on-heap cache. Maybe BucketCache is slower, but it's still better than the high
eviction rate when your on-heap cache can't fit all of the L1 objects.
Is there is a real reason to block this?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]