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

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


The following commit(s) were added to refs/heads/branch-3 by this push:
     new a42a90514f8 HBASE-28928 Handle NPE in Split/Merge table when 
getMasterQuotaManager returns null (#6375) (#6409)
a42a90514f8 is described below

commit a42a90514f80029ab76fa19d9684e079dc800792
Author: Aman Poonia <[email protected]>
AuthorDate: Tue Oct 29 11:51:37 2024 +0530

    HBASE-28928 Handle NPE in Split/Merge table when getMasterQuotaManager 
returns null (#6375) (#6409)
    
    Signed-off-by: Nihal Jain <[email protected]>
---
 .../hadoop/hbase/master/assignment/MergeTableRegionsProcedure.java  | 6 +++++-
 .../hadoop/hbase/master/assignment/SplitTableRegionProcedure.java   | 6 +++++-
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.java
index 201fc732175..cd049cd1381 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/MergeTableRegionsProcedure.java
@@ -50,6 +50,7 @@ import 
org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv;
 import org.apache.hadoop.hbase.master.procedure.MasterProcedureUtil;
 import org.apache.hadoop.hbase.procedure2.ProcedureMetrics;
 import org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer;
+import org.apache.hadoop.hbase.quotas.MasterQuotaManager;
 import org.apache.hadoop.hbase.quotas.QuotaExceededException;
 import org.apache.hadoop.hbase.regionserver.HRegionFileSystem;
 import org.apache.hadoop.hbase.regionserver.HStoreFile;
@@ -540,7 +541,10 @@ public class MergeTableRegionsProcedure
     }
     // TODO: Clean up split and merge. Currently all over the place.
     try {
-      
env.getMasterServices().getMasterQuotaManager().onRegionMerged(this.mergedRegion);
+      MasterQuotaManager masterQuotaManager = 
env.getMasterServices().getMasterQuotaManager();
+      if (masterQuotaManager != null) {
+        masterQuotaManager.onRegionMerged(this.mergedRegion);
+      }
     } catch (QuotaExceededException e) {
       // TODO: why is this here? merge requests can be submitted by actors 
other than the normalizer
       env.getMasterServices().getRegionNormalizerManager()
diff --git 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.java
 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.java
index 01cd012ddad..be6991b19f0 100644
--- 
a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.java
+++ 
b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/assignment/SplitTableRegionProcedure.java
@@ -57,6 +57,7 @@ import 
org.apache.hadoop.hbase.master.procedure.MasterProcedureEnv;
 import org.apache.hadoop.hbase.master.procedure.MasterProcedureUtil;
 import org.apache.hadoop.hbase.procedure2.ProcedureMetrics;
 import org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer;
+import org.apache.hadoop.hbase.quotas.MasterQuotaManager;
 import org.apache.hadoop.hbase.quotas.QuotaExceededException;
 import org.apache.hadoop.hbase.regionserver.HRegionFileSystem;
 import org.apache.hadoop.hbase.regionserver.HStore;
@@ -601,7 +602,10 @@ public class SplitTableRegionProcedure
     // TODO: Clean up split and merge. Currently all over the place.
     // Notify QuotaManager and RegionNormalizer
     try {
-      
env.getMasterServices().getMasterQuotaManager().onRegionSplit(this.getParentRegion());
+      MasterQuotaManager masterQuotaManager = 
env.getMasterServices().getMasterQuotaManager();
+      if (masterQuotaManager != null) {
+        masterQuotaManager.onRegionSplit(this.getParentRegion());
+      }
     } catch (QuotaExceededException e) {
       // TODO: why is this here? split requests can be submitted by actors 
other than the normalizer
       env.getMasterServices().getRegionNormalizerManager()

Reply via email to