Return-Path: X-Original-To: apmail-hbase-issues-archive@www.apache.org Delivered-To: apmail-hbase-issues-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id DE20DD61D for ; Fri, 8 Feb 2013 20:13:12 +0000 (UTC) Received: (qmail 12939 invoked by uid 500); 8 Feb 2013 20:13:12 -0000 Delivered-To: apmail-hbase-issues-archive@hbase.apache.org Received: (qmail 12910 invoked by uid 500); 8 Feb 2013 20:13:12 -0000 Mailing-List: contact issues-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list issues@hbase.apache.org Received: (qmail 12901 invoked by uid 99); 8 Feb 2013 20:13:12 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 08 Feb 2013 20:13:12 +0000 Date: Fri, 8 Feb 2013 20:13:12 +0000 (UTC) From: "Lars Hofhansl (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: 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 restart MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/HBASE-6469?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13574779#comment-13574779 ] Lars Hofhansl commented on HBASE-6469: -------------------------------------- Hmm... That works too. What I had in mind is that instead of exposing a force flag, we can detect whether this condition happened and act accordingly when enable is executed again. Now, that would only work if the "acting accordingly" is free of side effects. If forcing a table online is nothing we want to do lightly then it should be exposed explicitly. > 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: Nick Dimiduk > Fix For: 0.96.0, 0.94.6 > > Attachments: 6469-expose-force-r3.patch, HBASE-6469.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