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 b79be474182e..8811deddb3bf 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 @@ -51,6 +51,7 @@ 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 @@ private void preMergeRegions(final MasterProcedureEnv env) throws IOException { } // 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 01cd012ddad1..be6991b19f08 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.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 @@ private void preSplitRegion(final MasterProcedureEnv env) // 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()