HBASE-7721. Local Transactions in META
Review Request #9314 - Created Feb. 6, 2013 and updated
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.
|Why this check added?||Michael Stack||Feb. 6, 2013, 6:32 a.m.||Open|
|This belongs in here Enis?||Michael Stack||Feb. 6, 2013, 6:32 a.m.||Open|
|Nice work, should we keep the logic of fixupDaughters for the moment ? I think we would need it when ...||shen chunhui||Feb. 6, 2013, 10:37 a.m.||Open|
|The multiple Puts would go to the (single) .META. region, right ? Can you use this method from HRegion ? ...||Ted Yu||Feb. 6, 2013, 5:05 p.m.||Open|