diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java index 2ffe466..d8fd419 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java @@ -1658,6 +1658,11 @@ public class AssignmentManager { for (HRegionInfo hri : regionsRecordedInMeta) { TableName table = hri.getTable(); HTableDescriptor htd = master.getTableDescriptors().get(table); + if(htd == null) { + LOG.warn("master can not get TableDescriptor from table '" + table.toString() + + "', try to use hbck to restore it"); + continue; + } // look at the HTD for the replica count. That's the source of truth int desiredRegionReplication = htd.getRegionReplication(); for (int i = 0; i < desiredRegionReplication; i++) {