[
https://issues.apache.org/jira/browse/HBASE-13194?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
zhangduo updated HBASE-13194:
-----------------------------
Attachment: HBASE-13194.patch
Patch for master.
I removed the waiting code in NamespaceAuditor.start because
stateManager.start() is a sync operation.
The only doubt is that whether it is safe to just throw the exception out if
stateManager.initialize is fail. Of course I think it is rarely happen since
now we only call it after namespaceManager is initialized.
> TableNamespaceManager not ready cause MasterQuotaManager initialization fail
> -----------------------------------------------------------------------------
>
> Key: HBASE-13194
> URL: https://issues.apache.org/jira/browse/HBASE-13194
> Project: HBase
> Issue Type: Bug
> Components: master
> Affects Versions: 2.0.0
> Reporter: zhangduo
> Fix For: 2.0.0
>
> Attachments: HBASE-13194.patch
>
>
> This cause TestNamespaceAuditor to fail.
> https://builds.apache.org/job/HBase-TRUNK/6237/testReport/junit/org.apache.hadoop.hbase.namespace/TestNamespaceAuditor/testRegionOperations/
> {noformat}
> 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)
> {noformat}
> 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.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)