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

Nick Dimiduk commented on HBASE-6469:
-------------------------------------

[~jmhsieh], [~enis], [~ram_krish] Please recommend further detail regarding the 
kinds of checks that should be applied as part of an implementation of #3, 
above. I have a patch that exposes this option to the client/shell and adds an 
additional clause to the if(done) block described. Will post separately for 
review.

[~jxiang] please advise regarding this tweak in the context of your larger 
AssignmentManager improvements. Does your implementation provide a convenient 
hook into the state-machine logic, enabling an "escape hatch" as requested here?
                
> 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

Reply via email to