hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "HBase Review Board (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HBASE-3112) Enable and disable of table needs a bit of loving in new master
Date Tue, 09 Nov 2010 06:37:22 GMT

    [ 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:

(Updated 2010-11-08 22:35:19.111130)

Review request for hbase and Jonathan Gray.


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.


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
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.

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




> 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
> Need to add tests too.
> Marking issue critical bug because loads of the questions we get on lists are about enable/disable

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message