hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "zhangduo (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HBASE-13194) TableNamespaceManager not ready cause MasterQuotaManager initialization fail
Date Thu, 12 Mar 2015 02:47:38 GMT

     [ 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)

Mime
View raw message