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

Jim Kellerman commented on HBASE-655:
-------------------------------------

There really is no way (at this time) to make it a synchronous operation. It 
takes a while for the master to notify all the region servers to stop serving 
all the regions in the table. If the master waited for all the regions to be 
disabled, the client request would time out.

In the future, as we move the table descriptor out of HRegionInfo, and as we 
start using Zookeeper to manage region assignment, perhaps it could become 
synchronous.

> need programmatic way to add column family: need programmatic way to 
> enable/disable table
> -----------------------------------------------------------------------------------------
>
>                 Key: HBASE-655
>                 URL: https://issues.apache.org/jira/browse/HBASE-655
>             Project: Hadoop HBase
>          Issue Type: Bug
>            Reporter: Michael Bieniosek
>             Fix For: 0.2.0
>
>
> From HADOOP-2292:
> > What you might do is open a HTable on the META region 
> > (HConstants.META_TABLE_NAME) and scan HConstants.COL_REGIONINFO_ARRAY which 
> > will give you back HRegionInfo objects (as bytes).
> > Find the table in question by comparing your table name to 
> > regionInfo.getTableDesc().getName()
> > If adding or deleting columns, check regionInfo.getTableDesc().hasFamily()
> > If changing table on/off line check regionInfo.isOffline()
> > If any of the regions don't meet the criteria, close the scanner, sleep and 
> > rescan.
> This is a bit too complicated for me.  If you won't make 
> enableTable/disableTable synchronous, we should at least have a 
> HTable.isTableDisabled method.

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

Reply via email to