This is an automated email from the ASF dual-hosted git repository.

zhangduo 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 77b6b4d  HBASE-26340 TableSplit returns false size under 1MB (#3872)
77b6b4d is described below

commit 77b6b4dee390c49fb49257f1500ec216fe620819
Author: Norbert Kalmar <nkal...@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 <psomo...@apache.org
    Signed-off-by: Duo Zhang <zhang...@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 4bf2d9c..ef41589 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
@@ -1431,6 +1431,7 @@ public class HRegionServer extends 
HBaseServerBase<RSRpcServices>
     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;
@@ -1448,7 +1449,7 @@ public class HRegionServer extends 
HBaseServerBase<RSRpcServices>
       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();
@@ -1460,6 +1461,9 @@ public class HRegionServer extends 
HBaseServerBase<RSRpcServices>
       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());

Reply via email to