You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Devaraj Das (JIRA)" <ji...@apache.org> on 2014/06/11 03:11:05 UTC

[jira] [Updated] (HBASE-11261) Handle splitting of regions that have region_replication greater than one

     [ https://issues.apache.org/jira/browse/HBASE-11261?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Devaraj Das updated HBASE-11261:
--------------------------------

    Attachment: 11261-1.1.txt

This patch is WIP - needs some cleanup and some tests. But good for review. W.r.t replicas, the end goal is to have the right number of daughter replicas created and the old parent's replicas closed. The approach taken is as follows:
1. Parent is split in the RegionServer. 
2. The RegionServer updates the meta with the daughter locations as usual. In addition, for every daughter location, it also creates one column per daughter replica that references back to the corresponding parent replica. Clients that refer to the replica of a daughter for reads are "redirected" to the parent replica. This way availability is there even when new replicas are getting created as a result of the split process.
3. The master assigns new daughter replicas and closes the old parent replicas. This operation is done by the master upon getting a ZK notification and during this step the RegionServer that started the split is still holding the table lock (hence the new daughter replicas would see the same schema as the primary daughters saw).
4. The CatalogJanitor doesn't delete the rows corresponding to the parents that have daughter replicas still referring to them (so the redirection in (2) works).
5. When a RegionServer opens a daughter replica, it updates meta with the location (as usual), but here it also deletes the daughter replica column (back referencing the parent) that was added in (2). When all the back references are gone (corresponding to the number of daughter replicas), the   CatalogJanitor would consider the corresponding parent row for deletion.

> Handle splitting of regions that have region_replication greater than one
> -------------------------------------------------------------------------
>
>                 Key: HBASE-11261
>                 URL: https://issues.apache.org/jira/browse/HBASE-11261
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: Devaraj Das
>         Attachments: 11261-1.1.txt
>
>




--
This message was sent by Atlassian JIRA
(v6.2#6252)