You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by zh...@apache.org on 2021/12/18 04:27:05 UTC
[hbase] 01/02: HBASE-26340 TableSplit returns false size under 1MB (#3872)
This is an automated email from the ASF dual-hosted git repository.
zhangduo pushed a commit to branch branch-2.4
in repository https://gitbox.apache.org/repos/asf/hbase.git
commit 8fa8344a8c0c72d167ce92b5f44f88beb43f325e
Author: Norbert Kalmar <nk...@apache.org>
AuthorDate: Sat Dec 18 04:58:16 2021 +0100
HBASE-26340 TableSplit returns false size under 1MB (#3872)
Signed-off-by: Peter Somogyi <psomogyi@apache.org
Signed-off-by: Duo Zhang <zh...@apache.org>
---
.../java/org/apache/hadoop/hbase/regionserver/HRegionServer.java | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
index 05ce419..97f56bd 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
@@ -1723,6 +1723,7 @@ public class HRegionServer extends Thread implements
int maxCompactedStoreFileRefCount = 0;
int storeUncompressedSizeMB = 0;
int storefileSizeMB = 0;
+ long storefileSizeByte = 0L;
int memstoreSizeMB = (int) (r.getMemStoreDataSize() / 1024 / 1024);
long storefileIndexSizeKB = 0;
int rootLevelIndexSizeKB = 0;
@@ -1740,7 +1741,7 @@ public class HRegionServer extends Thread implements
maxCompactedStoreFileRefCount = Math.max(maxCompactedStoreFileRefCount,
currentMaxCompactedStoreFileRefCount);
storeUncompressedSizeMB += (int) (store.getStoreSizeUncompressed() / 1024 / 1024);
- storefileSizeMB += (int) (store.getStorefilesSize() / 1024 / 1024);
+ storefileSizeByte += store.getStorefilesSize();
//TODO: storefileIndexSizeKB is same with rootLevelIndexSizeKB?
storefileIndexSizeKB += store.getStorefilesRootLevelIndexSize() / 1024;
CompactionProgress progress = store.getCompactionProgress();
@@ -1752,6 +1753,9 @@ public class HRegionServer extends Thread implements
totalStaticIndexSizeKB += (int) (store.getTotalStaticIndexSize() / 1024);
totalStaticBloomSizeKB += (int) (store.getTotalStaticBloomSize() / 1024);
}
+ //HBASE-26340 Fix false "0" size under 1MB
+ storefileSizeMB = storefileSizeByte > 0 && storefileSizeByte <= 1024 * 1024
+ ? 1 : (int) storefileSizeByte / 1024 / 1024;
HDFSBlocksDistribution hdfsBd = r.getHDFSBlocksDistribution();
float dataLocality = hdfsBd.getBlockLocalityIndex(serverName.getHostname());