Review Board 1.7.22


HBASE-7721. Local Transactions in META

Review Request #9314 - Created Feb. 6, 2013 and updated

enis
HBASE-7721
Reviewers
hbase
hbase-git
We need this mainly for region splits and merges. Clients scan the META concurrent to the split/merge operations, and to prevent the clients from seeing overlapping region boundaries or holes in META, we just through hoops. For more backgroun, see BlockingMetaScannerVisitor, HBASE-5986, and my comments at https://reviews.apache.org/r/8716/.

This patch: 
 - Changes META table descriptor to add MultiRowMutationEndpoint by default. META regions deploy that coprocessor
 - Adds MetaEditor.splitRegion() which calls the atomic multi row coprocessor endpoint
 - Now that we guarantee region split in META is atomic, removes bunch of housekeeping + cleaning state in HMaster + SSH + AM
 - Removes BlockingMetaScannerVisitor, not needed anymore. 
SplitTransaction unit tests. Will test this in a larger scale before commit. 
Total:
5
Open:
4
Resolved:
1
Dropped:
0
Status:
From:
Review request changed
Updated (March 6, 2013, 3:21 a.m.)
Rebased the patch, and fixed the failing tests. This should be mostly ready to go. Will run hadoopqa again. 
Posted (July 24, 2013, 10:25 p.m.)

   

  
Dave, I think we can rework this for changing createTableDescriptor() to make it upsertTableDescriptor(). ForceCreation might not be needed indeed, but I wanted to keep the signature of the function.