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

zhangduo pushed a commit to branch branch-2
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit de37c4cebacfb7859783200301680f1cabc50060
Author: guluo <[email protected]>
AuthorDate: Thu Jul 6 10:32:38 2023 +0800

    HBASE-27859 HMaster.getCompactionState can happen NPE when region state is 
closed (#5232)
    
    Signed-off-by: Duo Zhang <[email protected]>
    Signed-off-by: Wellington Chevreuil <[email protected]>
    (cherry picked from commit b2e2abe64bd9f3d511b8193510fe66c76ff7854c)
---
 .../src/main/java/org/apache/hadoop/hbase/master/HMaster.java        | 5 +++++
 1 file changed, 5 insertions(+)

diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
index b61737020da..e5625820874 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
@@ -4146,6 +4146,11 @@ public class HMaster extends HRegionServer implements 
MasterServices {
           continue;
         }
         RegionMetrics regionMetrics = 
sl.getRegionMetrics().get(regionInfo.getRegionName());
+        if (regionMetrics == null) {
+          LOG.warn("Can not get compaction details for the region: {} , it may 
be not online.",
+            regionInfo.getRegionNameAsString());
+          continue;
+        }
         if (regionMetrics.getCompactionState() == CompactionState.MAJOR) {
           if (compactionState == CompactionState.MINOR) {
             compactionState = CompactionState.MAJOR_AND_MINOR;

Reply via email to