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

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

commit d525629eb57551951e56f9ea35c5c50eb575de95
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 3d59db24501..8cb40cb5880 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
@@ -4208,6 +4208,11 @@ public class HMaster extends 
HBaseServerBase<MasterRpcServices> implements Maste
           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