You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "chunhui shen (JIRA)" <ji...@apache.org> on 2013/03/23 09:11:19 UTC
[jira] [Comment Edited] (HBASE-7403) Online Merge
[ https://issues.apache.org/jira/browse/HBASE-7403?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13611659#comment-13611659 ]
chunhui shen edited comment on HBASE-7403 at 3/23/13 8:09 AM:
--------------------------------------------------------------
Shell command and documentation is done in HBASE-8189 HBASE-8190
was (Author: zjushch):
Shell commend and documentation is done in HBASE-8189 HBASE-8190
> Online Merge
> ------------
>
> Key: HBASE-7403
> URL: https://issues.apache.org/jira/browse/HBASE-7403
> Project: HBase
> Issue Type: New Feature
> Affects Versions: 0.95.0
> Reporter: chunhui shen
> Assignee: chunhui shen
> Priority: Critical
> Fix For: 0.95.0, 0.98.0
>
> Attachments: 7403-trunkv5.patch, 7403-trunkv6.patch, 7403v5.diff, 7403-v5.txt, 7403v5.txt, hbase-7403-94v1.patch, hbase-7403-trunkv10.patch, hbase-7403-trunkv11.patch, hbase-7403-trunkv12.patch, hbase-7403-trunkv13.patch, hbase-7403-trunkv14.patch, hbase-7403-trunkv15.patch, hbase-7403-trunkv16.patch, hbase-7403-trunkv19.patch, hbase-7403-trunkv1.patch, hbase-7403-trunkv20.patch, hbase-7403-trunkv22.patch, hbase-7403-trunkv23.patch, hbase-7403-trunkv24.patch, hbase-7403-trunkv26.patch, hbase-7403-trunkv28.patch, hbase-7403-trunkv29.patch, hbase-7403-trunkv30.patch, hbase-7403-trunkv31.patch, hbase-7403-trunkv32.patch, hbase-7403-trunkv33.patch, hbase-7403-trunkv5.patch, hbase-7403-trunkv6.patch, hbase-7403-trunkv7.patch, hbase-7403-trunkv8.patch, hbase-7403-trunkv9.patch, merge region.pdf
>
>
> Support executing region merge transaction on Regionserver, similar with split transaction
> Process of merging two regions:
> a.client sends RPC (dispatch merging regions) to master
> b.master moves the regions together (on the same regionserver where the more heavily loaded region resided)
> c.master sends RPC (merge regions) to this regionserver
> d.Regionserver executes the region merge transaction in the thread pool
> e.the above b,c,d run asynchronously
> Process of region merge transaction:
> a.Construct a new region merge transaction.
> b.prepare for the merge transaction, the transaction will be canceled if it is unavailable,
> e.g. two regions don't belong to same table; two regions are not adjacent in a non-compulsory merge; region is closed or has reference
> c.execute the transaction as the following:
> /**
> * Set region as in transition, set it into MERGING state.
> */
> SET_MERGING_IN_ZK,
> /**
> * We created the temporary merge data directory.
> */
> CREATED_MERGE_DIR,
> /**
> * Closed the merging region A.
> */
> CLOSED_REGION_A,
> /**
> * The merging region A has been taken out of the server's online regions list.
> */
> OFFLINED_REGION_A,
> /**
> * Closed the merging region B.
> */
> CLOSED_REGION_B,
> /**
> * The merging region B has been taken out of the server's online regions list.
> */
> OFFLINED_REGION_B,
> /**
> * Started in on creation of the merged region.
> */
> STARTED_MERGED_REGION_CREATION,
> /**
> * Point of no return. If we got here, then transaction is not recoverable
> * other than by crashing out the regionserver.
> */
> PONR
> d.roll back if step c throws exception
> Usage:
> HBaseAdmin#mergeRegions
> See more details from the patch
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira