diff --git hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/DeleteTableProcedure.java hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/DeleteTableProcedure.java index 60212e8..4d0431b 100644 --- hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/DeleteTableProcedure.java +++ hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/DeleteTableProcedure.java @@ -389,10 +389,6 @@ public class DeleteTableProcedure // Clean up regions of the table in RegionStates. LOG.debug("Removing '" + tableName + "' from region states."); am.getRegionStates().tableDeleted(tableName); - - // If entry for this table states, remove it. - LOG.debug("Marking '" + tableName + "' as deleted."); - am.getTableStateManager().setDeletedTable(tableName); } protected static void deleteTableDescriptorCache(final MasterProcedureEnv env, @@ -403,6 +399,11 @@ public class DeleteTableProcedure protected static void deleteTableStates(final MasterProcedureEnv env, final TableName tableName) throws IOException { + // If entry for this table states, remove it. + LOG.info("Marking '" + tableName + "' as deleted."); + AssignmentManager am = env.getMasterServices().getAssignmentManager(); + am.getTableStateManager().setDeletedTable(tableName); + if (!tableName.isSystemTable()) { ProcedureSyncWait.getMasterQuotaManager(env).removeTableFromNamespaceQuota(tableName); }