hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lars Hofhansl (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 Tue, 26 Feb 2013 00:34:13 GMT

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

Lars Hofhansl commented on HBASE-6469:

I am not sure I like this approach.
The problem here is that the ZK state is either stuck in ENABLING or DISABLING. A background
thread checking on this does not seem to be that useful.
If a background can continue the transaction, why can't another (user initiated) attempt to
either enable or disable the table?

The expectation here is that a user won't care what care what state the table is currently
in. If a disable is triggered the result should be a disabled table (and similar for an enable).

Can we just make so that we allow transitioning from ENABLING to both ENABLED or DISABLED

> 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.94.2, 0.96.0
>            Reporter: Enis Soztutar
>            Assignee: rajeshbabu
>             Fix For: 0.96.0, 0.94.6
>         Attachments: 6469-expose-force-r3.patch, HBASE-6469_2.patch, HBASE-6469_3.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

View raw message