diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/TableNamespaceManager.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/TableNamespaceManager.java index 33a2fcf42670..1a58aa91e779 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/TableNamespaceManager.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/TableNamespaceManager.java @@ -235,14 +235,16 @@ public synchronized boolean isTableAvailableAndInitialized( return true; } + if (zkNamespaceManager == null) { + zkNamespaceManager = new ZKNamespaceManager(masterServices.getZooKeeper()); + zkNamespaceManager.start(); + } + // Now check if the table is assigned, if not then fail fast if (isTableAssigned()) { try { boolean initGoodSofar = true; nsTable = this.masterServices.getConnection().getTable(TableName.NAMESPACE_TABLE_NAME); - zkNamespaceManager = new ZKNamespaceManager(masterServices.getZooKeeper()); - zkNamespaceManager.start(); - if (get(nsTable, NamespaceDescriptor.DEFAULT_NAMESPACE.getName()) == null) { if (createNamespaceAync) { masterServices.getMasterProcedureExecutor().submitProcedure(