Return-Path: Delivered-To: apmail-hbase-issues-archive@www.apache.org Received: (qmail 36351 invoked from network); 9 Nov 2010 06:37:19 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 9 Nov 2010 06:37:19 -0000 Received: (qmail 60022 invoked by uid 500); 9 Nov 2010 06:37:50 -0000 Delivered-To: apmail-hbase-issues-archive@hbase.apache.org Received: (qmail 59945 invoked by uid 500); 9 Nov 2010 06:37:48 -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 59937 invoked by uid 99); 9 Nov 2010 06:37:47 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 09 Nov 2010 06:37:47 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.22] (HELO thor.apache.org) (140.211.11.22) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 09 Nov 2010 06:37:44 +0000 Received: from thor (localhost [127.0.0.1]) by thor.apache.org (8.13.8+Sun/8.13.8) with ESMTP id oA96bMOZ007355 for ; Tue, 9 Nov 2010 06:37:23 GMT Message-ID: <22218684.97241289284642924.JavaMail.jira@thor> Date: Tue, 9 Nov 2010 01:37:22 -0500 (EST) From: "HBase Review Board (JIRA)" To: issues@hbase.apache.org Subject: [jira] Commented: (HBASE-3112) Enable and disable of table needs a bit of loving in new master In-Reply-To: <22358713.145081287076713120.JavaMail.jira@thor> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/HBASE-3112?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12929983#action_12929983 ] HBase Review Board commented on HBASE-3112: ------------------------------------------- Message from: stack@duboce.net ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://review.cloudera.org/r/1187/ ----------------------------------------------------------- (Updated 2010-11-08 22:35:19.111130) Review request for hbase and Jonathan Gray. Changes ------- Addressed Jon comments. Still to do is finish up synchronizations on cache passed into ZKTable, cache of table states to save on trips to zk ensemble. Also, need to run tests an put in place calls to synchronized enable/disable table methods that this patch adds so tests start passing again. Will do in morning. Summary ------- Renamed ZKTableDisable as ZKTable, making it a generic zk util for managing 'tables'. Added enabing/disabling states to table the current set of enabled/disabled only. M src/main/java/org/apache/hadoop/hbase/zookeeper/ZKUtil.java (createSetData): Added. M src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java Removed offlining region utility methods no longer used. (We do it now over in MetaEditor) M src/main/java/org/apache/hadoop/hbase/HRegionInfo.java Javadoc. M src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java Add a base abstract class to do 'bulk assignments'. Redo assignAllUserRegions to use subclass of new bulk assigner class. Added isTableEnabled, disablingTable, enablingTable. M src/main/java/org/apache/hadoop/hbase/master/handler/DisableTableHandler.java Redid to use new bulk assigner class. M src/main/java/org/apache/hadoop/hbase/master/handler/EnableTableHandler.java A Added TestZKTable This addresses bug hbase-3112. http://issues.apache.org/jira/browse/hbase-3112 Diffs (updated) ----- trunk/src/main/java/org/apache/hadoop/hbase/HRegionInfo.java 1032841 trunk/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java 1032841 trunk/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java 1032841 trunk/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java 1032841 trunk/src/main/java/org/apache/hadoop/hbase/master/BulkAssigner.java PRE-CREATION trunk/src/main/java/org/apache/hadoop/hbase/master/HMaster.java 1032841 trunk/src/main/java/org/apache/hadoop/hbase/master/LoadBalancer.java 1032841 trunk/src/main/java/org/apache/hadoop/hbase/master/handler/DeleteTableHandler.java 1032841 trunk/src/main/java/org/apache/hadoop/hbase/master/handler/DisableTableHandler.java 1032841 trunk/src/main/java/org/apache/hadoop/hbase/master/handler/EnableTableHandler.java 1032841 trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java 1032841 trunk/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKTable.java PRE-CREATION trunk/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKTableDisable.java 1032841 trunk/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKUtil.java 1032841 trunk/src/main/ruby/hbase/admin.rb 1032841 trunk/src/main/ruby/shell.rb 1032841 trunk/src/main/ruby/shell/commands/disable.rb 1032841 trunk/src/main/ruby/shell/commands/enable.rb 1032841 trunk/src/main/ruby/shell/commands/is_disabled.rb PRE-CREATION trunk/src/main/ruby/shell/commands/is_enabled.rb PRE-CREATION trunk/src/test/java/org/apache/hadoop/hbase/client/TestAdmin.java 1032841 trunk/src/test/java/org/apache/hadoop/hbase/master/TestMasterFailover.java 1032841 trunk/src/test/java/org/apache/hadoop/hbase/zookeeper/TestZKTable.java PRE-CREATION Diff: http://review.cloudera.org/r/1187/diff Testing ------- Thanks, stack > Enable and disable of table needs a bit of loving in new master > --------------------------------------------------------------- > > Key: HBASE-3112 > URL: https://issues.apache.org/jira/browse/HBASE-3112 > Project: HBase > Issue Type: Bug > Reporter: stack > Assignee: stack > Priority: Critical > Fix For: 0.90.0 > > Attachments: 3112-v2.txt, 3112-v3.txt, 3112.txt > > > The tools are in place to do a more reliable enable/disable of tables. Some work has been done to hack in a basic enable/disable but its not enough -- see the test avro/thrift tests where a disable/enable/disable switchback can confuse the table state (and has been disabled until this issue addressed). > This issue is about finishing off enable/disable in the new master. I think we need to add to the table znode an enabling/disabling state rather than have them binary with a watcher that will stop an enable (or disable) starting until the previous completes (Currently we atomically switch the state though the region close/open lags -- some work in enable/disable handlers helps in that they won't complete till all regions have transitioned.. but its not enough). > Need to add tests too. > Marking issue critical bug because loads of the questions we get on lists are about enable/disable probs. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.