[
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)