You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Subbu M Iyer (JIRA)" <ji...@apache.org> on 2011/08/17 16:09:28 UTC

[jira] [Commented] (HBASE-4213) Support instant schema updates with out master's intervention (i.e with out enable/disable and bulk assign/unassign)

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

Subbu M Iyer commented on HBASE-4213:
-------------------------------------

Attached patch is based on the following pattern.

On Startup:
1. On startup, create a new ZK node called "schema" if it doesn't exisit already. (Master and RS)
2. Master starts a MasterSchemaChangeTracker and sets a watch for childerns of /hbase/schema.
3. Each RS will start SchemaChangeTracker and set a watch childrens of /hbase/schema. 

On Alter DDL: (modify table, add family, modify family)

1. Master will bypass the table disabled check for alter DDL requests.
2. On successful HTD change, master will create a new ZK node /hbase/schema/<table name>.
3. Each RS will get notified of the schema change through the new ZK node /hbase/schema/<table name>. 
   a. If the RS currently has online regions for the table, refresh the regions as follows:
   		a.1: Close the region.
   		a.2: Remove from online regions.
   		a.3: Get the latest HTD descriptor.
   		a.4: Reopen the region with new HTD.
   		a.5: Add the region to list of online regions.
   b.RS will signal that it has successfully processed the schema change by 
     creating a new ZK node /hbase/schema/<table name>/<RS server name>  		
     This will happen either if currently the RS does not have any online regions for the table, 
     or if has successfully completed the region refresh with new schema changes.
4. Master will get notified of the list of region servers who have successfully carried out the 
   schema change operation based on childrens of zknode /hbase/schema/<table name>.
5. Master will recursively delete the node /hbase/schema/<table name>, if the number of childrens
   of /hbase/schema/<table name> is greater than or equal to current number of active region servers.


> Support instant schema updates with out master's intervention (i.e with out enable/disable and bulk assign/unassign)
> --------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-4213
>                 URL: https://issues.apache.org/jira/browse/HBASE-4213
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Subbu M Iyer
>         Attachments: HBASE-4213-Instant_schema_change.patch
>
>
> This Jira is a slight variation in approach to what is being done as part of 
> https://issues.apache.org/jira/browse/HBASE-1730
> Support instant schema updates such as Modify Table, Add Column, Modify Column operations:
> 1. With out enable/disabling the table.
> 2. With out bulk unassign/assign of regions.

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