You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "nileema shingte (JIRA)" <ji...@apache.org> on 2011/08/12 05:14:27 UTC

[jira] [Commented] (HBASE-1730) Near-instantaneous online schema and table state updates

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

nileema shingte commented on HBASE-1730:
----------------------------------------

The attached patch (HBASE-1730.patch) does the following: 

When the master receives an alter table call (addColumn, modifyColumn, deleteColumn, modifyTable), it updates the .tableinfo and then closes all the regions of that table. The patch includes: 

1. Changes to reopen the regions when any of the above operations are performed. 
2. Best effort is made to preserve the locality of regions by assigning it a region plan before closing it. 
3. Throttling logic that ensures that only a configurable number of regions are closed per region server at a time. 
4. alter command in the hbase shell will block until all the regions are updated, providing a status "x/y regions updated" every second. 
5. alter_async command that works exactly like alter, except that it does not block for completion or provide the status. 
6. alter_status <table_name> which is a sync call and blocks to provide the "x/y regions updated" status per second until all regions are updated. 
7. modification in the unit test for enabling alter without disabling the table. 


Number of regions that are closed at a time (per region server) is configurable. 

> Near-instantaneous online schema and table state updates
> --------------------------------------------------------
>
>                 Key: HBASE-1730
>                 URL: https://issues.apache.org/jira/browse/HBASE-1730
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Andrew Purtell
>            Assignee: stack
>            Priority: Critical
>             Fix For: 0.92.0
>
>         Attachments: 1730-v2.patch, 1730-v3.patch, 1730.patch, HBASE-1730.patch
>
>
> We should not need to take a table offline to update HCD or HTD. 
> One option for that is putting HTDs and HCDs up into ZK, with mirror on disk catalog tables to be used only for cold init scenarios, as discussed on IRC. In this scheme, regionservers hosting regions of a table would watch permanent nodes in ZK associated with that table for schema updates and take appropriate actions out of the watcher. In effect, schema updates become another item in the ToDo list.
> {{/hbase/tables/<table-name>/schema}}
> Must be associated with a write locking scheme also handled with ZK primitives to avoid situations where one concurrent update clobbers another. 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira