Description
This cause TestNamespaceAuditor to fail.
2015-03-10 22:42:01,372 ERROR [hemera:48616.activeMasterManager] namespace.NamespaceStateManager(204): Error while update namespace state. java.io.IOException: Table Namespace Manager not ready yet, try again later at org.apache.hadoop.hbase.master.HMaster.checkNamespaceManagerReady(HMaster.java:1912) at org.apache.hadoop.hbase.master.HMaster.listNamespaceDescriptors(HMaster.java:2131) at org.apache.hadoop.hbase.namespace.NamespaceStateManager.initialize(NamespaceStateManager.java:188) at org.apache.hadoop.hbase.namespace.NamespaceStateManager.start(NamespaceStateManager.java:63) at org.apache.hadoop.hbase.namespace.NamespaceAuditor.start(NamespaceAuditor.java:57) at org.apache.hadoop.hbase.quotas.MasterQuotaManager.start(MasterQuotaManager.java:88) at org.apache.hadoop.hbase.master.HMaster.initQuotaManager(HMaster.java:902) at org.apache.hadoop.hbase.master.HMaster.finishActiveMasterInitialization(HMaster.java:756) at org.apache.hadoop.hbase.master.HMaster.access$500(HMaster.java:161) at org.apache.hadoop.hbase.master.HMaster$1.run(HMaster.java:1455) at java.lang.Thread.run(Thread.java:744)
The direct reason is that we do not have a retry here, if init fails then it always fails. But I skimmed the code, seems there is no async init operations when calling finishActiveMasterInitialization, so it is very strange. Need to dig more.