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

Michael Bieniosek commented on HBASE-655:
-----------------------------------------

enableTable isn't synchronous, so if I call add/modify/deleteColumn immediately 
after calling enableTable, I get an exception because the table isn't disabled. 
 

There's no way to know how long to wait for the table to go offline.  There's 
no way to wait in a loop and check to see if the table is offline.  The best I 
can do is sleep and catch TableNotDisabledException in a loop, which seems kind 
of silly.

> 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