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 e1cce75..86a7ef4 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 @@ -1890,8 +1890,10 @@ public class HMaster extends HRegionServer implements MasterServices, Server { public List listTableNamesByNamespace(String name) throws IOException { List tableNames = Lists.newArrayList(); getNamespaceDescriptor(name); // check that namespace exists - for (HTableDescriptor descriptor: tableDescriptors.getByNamespace(name).values()) { - tableNames.add(descriptor.getTableName()); + for (TableName table: tableStateManager.getTables()) { + if (table.getNamespaceAsString().equals(name)) { + tableNames.add(table); + } } return tableNames; } diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/TableStateManager.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/TableStateManager.java index 26b1901..a8725c2 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/TableStateManager.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/TableStateManager.java @@ -159,6 +159,13 @@ public class TableStateManager { } /** + * Returns the set of tables in the cluster. + */ + public Set getTables() { + return tableStates.keySet(); + } + + /** * Return all tables in given states. * * @param states filter by states