You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Wataru Yukawa (JIRA)" <ji...@apache.org> on 2012/11/23 04:40:59 UTC
[jira] [Commented] (HBASE-6469) Failure on enable/disable table
will cause table state in zk to be left as enabling/disabling until master
is restart
[ https://issues.apache.org/jira/browse/HBASE-6469?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13503001#comment-13503001 ]
Wataru Yukawa commented on HBASE-6469:
--------------------------------------
Recently, I've got the following problem.
http://comments.gmane.org/gmane.comp.java.hadoop.hbase.user/25974
Environment:HBase 0.94.2
The result of hbase hbck is INCONSISTENT.
The table state in zk is left as ENABLING.
The table is neither enable nor disable.
Although I can't reproduce the problem, maybe the following procedure
{noformat}
hbase(main):003:0> create 'table1', 'rowkey1'
hbase(main):005:0> disable 'table1'
hbase(main):007:0> alter 'table1', METHOD => 'table_att', DEFERRED_LOG_FLUSH => 'true'
hbase(main):011:0> enable 'table1' //error
hbase(main):009:0> is_enabled 'table1'
false
hbase(main):006:0> is_disabled 'table1'
false
hbase(main):011:0> drop 'table1' //error
{noformat}
The soution is the following
* hbase hbck -fix
* HMaster reboot
I hope this information will be helpful.
> Failure on enable/disable table will cause table state in zk to be left as enabling/disabling until master is restart
> ---------------------------------------------------------------------------------------------------------------------
>
> 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: Enis Soztutar
> Fix For: 0.96.0, 0.94.4
>
>
> 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