hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "rajeshbabu (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-6469) Failure on enable/disable table will cause table state in zk to be left as enabling/disabling until master is restarted
Date Mon, 01 Apr 2013 17:57:16 GMT

    [ https://issues.apache.org/jira/browse/HBASE-6469?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13618975#comment-13618975
] 

rajeshbabu commented on HBASE-6469:
-----------------------------------

[~jxiang]
bq. I think it is because the ZKTable states are cached. 
Here even zktable states are cached still they are same as znode states in zk. 
bq. we can manually reset the table state in ZK, then retry will be able to move on.
Can you give more details how we can do this? How HBASE-8233 really solves this problem? 
                
> Failure on enable/disable table will cause table state in zk to be left as enabling/disabling
until master is restarted
> -----------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-6469
>                 URL: https://issues.apache.org/jira/browse/HBASE-6469
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.95.0, 0.94.6
>            Reporter: Enis Soztutar
>            Assignee: rajeshbabu
>             Fix For: 0.95.0, 0.94.7
>
>         Attachments: 6469-expose-force-r3.patch, HBASE-6469_2.patch, HBASE-6469_3.patch,
HBASE-6469_4.patch, HBASE-6469.patch, HBASE-6469_retry_enable_or_disable.patch
>
>
> In Enable/DisableTableHandler code, if something goes wrong in handling, the table state
in zk is left as ENABLING / DISABLING. After that we cannot force any more action from the
API or CLI, and the only recovery path is restarting the master. 
> {code}
>     if (done) {
>       // Flip the table to enabled.
>       this.assignmentManager.getZKTable().setEnabledTable(
>         this.tableNameStr);
>       LOG.info("Table '" + this.tableNameStr
>       + "' was successfully enabled. Status: done=" + done);
>     } else {
>       LOG.warn("Table '" + this.tableNameStr
>       + "' wasn't successfully enabled. Status: done=" + done);
>     }
> {code}
> Here, if done is false, the table state is not changed. There is also no way to set skipTableStateCheck
from cli / api. 
> We have run into this issue a couple of times before. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message