You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Jim Kellerman (JIRA)" <ji...@apache.org> on 2008/06/20 20:03:44 UTC

[jira] Commented: (HBASE-627) Disable table doesn't work reliably

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

Jim Kellerman commented on HBASE-627:
-------------------------------------

Now that HBASE-615 has been fixed and the master stabilizes on region assignments, disable table and enable table appear to work reliably.

Remember that both enable and disable table run asychronously in the master so if you immediately follow either operation with with another, you may get table is not disabled or table is not enabled exceptions. 

In the shell, if you do enable table and immediately follow that with a disable table, some regions may still be on-line because they were in transition during the disable operation. Issuing a second disable table should disable the remaining on-line regions.

>From the API you can use HTable.isTableOnline or HTable.isTableOffline to determine a table's state. You can then wait in a loop for the operation to finish.

We believe that these operations are now reliable.  Can you confirm?


> Disable table doesn't work reliably
> -----------------------------------
>
>                 Key: HBASE-627
>                 URL: https://issues.apache.org/jira/browse/HBASE-627
>             Project: Hadoop HBase
>          Issue Type: Bug
>    Affects Versions: 0.2.0
>         Environment: Hadoop/HBase on two nodes
>            Reporter: Michaela Buergle
>            Priority: Critical
>             Fix For: 0.2.0
>
>         Attachments: disableTable31.log, disableTable5.log
>
>
> When creating a couple of tables like this:
> 1) create an empty table
> 2) disable table, add new column family, enable table
> 3) put 100 small documents into newly created column
> around once in 10 tries the disable doesn't happen.
> I have no clue as to why the table isn't disabled in the first place, but if this occurs, two things in HBaseAdmin.disableTable() strike me as odd:
> - after numRetries tries to wait for disabling we exit the loop; there is no exception or error message:
> ...
> 2008-05-14 16:19:47,903 INFO org.apache.hadoop.hbase.client.HBaseAdmin: Disabled table table31
> 2008-05-14 16:19:47,910 INFO org.apache.hadoop.ipc.Server: IPC Server handler 3 on 60000, call addColumn(table31, {name: document, max versions: 3, compression: NONE, in memory: false, block cache enabled: false, max length: 2147483647, time to live: FOREVER, bloom filter: none}) from XXX.XX.40.36:47116: error: org.apache.hadoop.hbase.TableNotDisabledException: table31
> ...
> - the scanner iterates over HRegionInfos of several tables. If any one of those is disabled, we also leave the loop as if the requested table had been disabled.
> I've had this disabling problem occur quite reliably over the last days - today I couldn't reproduce it, though HBase version hasn't changed. ???

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