jhungund commented on code in PR #5866:
URL: https://github.com/apache/hbase/pull/5866#discussion_r1601360335
##########
hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.java:
##########
@@ -2203,6 +2204,21 @@ public Optional<Boolean> shouldCacheFile(HFileInfo
hFileInfo, Configuration conf
return Optional.of(!fullyCachedFiles.containsKey(fileName));
}
+ @Override
+ public Optional<Boolean> shouldCacheBlock(BlockCacheKey key, Configuration
conf) {
+ try {
+ DataTieringManager dataTieringManager = DataTieringManager.getInstance();
+ if (dataTieringManager != null && !dataTieringManager.isHotData(key,
conf)) {
Review Comment:
The general idea behind storing any data in the memory (as BlockCacheKey
will reside in memory) is to use the data in future. Here, we are increasing
the size of BlockCacheKey, transiently using the newly added member for making
caching decisions, but later keeping the data in the BlockCacheKey without
using it for later. Additionally this increase in size is effective even if the
feature is not enabled, since we have changed the class layout.
Hence, I would propose to not store it in BlockCacheKey but store it on the
stack (member variable) so that the variable will go away after getting used.
--
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]