[ 
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

        

Reply via email to