You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by an...@apache.org on 2021/10/24 03:49:45 UTC
[hbase] branch master updated: HBASE-26190 High rate logging of
BucketAllocatorException: Allocation too big - Addendum (#3792)
This is an automated email from the ASF dual-hosted git repository.
anoopsamjohn pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/master by this push:
new 84a527b HBASE-26190 High rate logging of BucketAllocatorException: Allocation too big - Addendum (#3792)
84a527b is described below
commit 84a527bdcc341d3a8264d76147a6144bb0803b12
Author: Anoop Sam John <an...@gmail.com>
AuthorDate: Sun Oct 24 09:19:10 2021 +0530
HBASE-26190 High rate logging of BucketAllocatorException: Allocation too big - Addendum (#3792)
---
.../hadoop/hbase/io/hfile/bucket/BucketCache.java | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.java
index 6bbb58b..31d5945 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.java
@@ -1011,16 +1011,17 @@ public class BucketCache implements BlockCache, HeapSize {
*/
private String getAllocationFailWarningMessage(RAMQueueEntry re) {
if (re != null && re.getData() instanceof HFileBlock) {
- HFileBlock block = (HFileBlock) re.getData();
- HFileContext fileContext = block.getHFileContext();
- String hFileName = fileContext.getHFileName();
+ HFileContext fileContext = ((HFileBlock) re.getData()).getHFileContext();
String columnFamily = Bytes.toString(fileContext.getColumnFamily());
String tableName = Bytes.toString(fileContext.getTableName());
- return ("Most recent failed allocation in " + ALLOCATION_FAIL_LOG_TIME_PERIOD
- + " milliseconds; Table Name = " + tableName + ", Column Family = "
- + columnFamily + ", HFile Name : " + hFileName);
+ if (tableName != null && columnFamily != null) {
+ return ("Most recent failed allocation in " + ALLOCATION_FAIL_LOG_TIME_PERIOD
+ + " milliseconds; Table Name = " + tableName + ", Column Family = " + columnFamily
+ + ", HFile Name : " + fileContext.getHFileName());
+ }
}
- return ("Failed allocation for " + (re == null ? "" : re.getKey()) + "; ");
+ return ("Most recent failed allocation in " + ALLOCATION_FAIL_LOG_TIME_PERIOD
+ + " milliseconds; HFile Name : " + (re == null ? "" : re.getKey()));
}
/**
@@ -1068,7 +1069,7 @@ public class BucketCache implements BlockCache, HeapSize {
}
index++;
} catch (BucketAllocatorException fle) {
- long currTs = System.currentTimeMillis(); // Current time since Epoch in milliseconds.
+ long currTs = EnvironmentEdgeManager.currentTime();
cacheStats.allocationFailed(); // Record the warning.
if (allocFailLogPrevTs == 0 || (currTs - allocFailLogPrevTs) > ALLOCATION_FAIL_LOG_TIME_PERIOD) {
LOG.warn (getAllocationFailWarningMessage(re), fle);