[ 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