[ https://issues.apache.org/jira/browse/HBASE-12972?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14338922#comment-14338922 ]
Rajeshbabu Chintaguntla commented on HBASE-12972: ------------------------------------------------- [~apurtell] The new interfaces for SplitTransaction, RegionMergeTransaction in the patch may not fully helpful for reimplementing the local indexes split/merge without diving into the details. I think we can handle the SplitTransaction,RegionMergeTransaction changes in separate JIRA(may be HBASE-12975 here). To support local index regions split/merge I think splittransaction should be changed so that it should also split more than one region atomically and the steps should be changed like this. 1) We should be able pass/add one or more regions to SplitTransaction. 2) run steps before PONR(or commit) for all the regions. 3) commit split mutations of all the regions 4) run steps after PONR(or commit) for all the regions 5) Any failures before PONR rollback the regions completed steps before PONR. This way in case of one region it should work as usual how it works currently. Apart from this before actual split execution starts we should give provision to add more regions to split through coprocessors. So this way we need not touch any internals. Similar way we can change for regions merge as well. > Region, a supportable public/evolving subset of HRegion > ------------------------------------------------------- > > Key: HBASE-12972 > URL: https://issues.apache.org/jira/browse/HBASE-12972 > Project: HBase > Issue Type: New Feature > Reporter: Andrew Purtell > Assignee: Andrew Purtell > Fix For: 2.0.0, 1.0.1, 1.1.0, 0.98.11 > > Attachments: HBASE-12972-0.98.patch, HBASE-12972-0.98.patch, > HBASE-12972-0.98.patch > > > On HBASE-12566, [~lhofhansl] proposed: > {quote} > Maybe we can have a {{Region}} interface that is to {{HRegion}} is what > {{Store}} is to {{HStore}}. Store marked with {{@InterfaceAudience.Private}} > but used in some coprocessor hooks. > {quote} > By example, now coprocessors have to reach into HRegion in order to > participate in row and region locking protocols, this is one area where the > functionality is legitimate for coprocessors but not for users, so an > in-between interface make sense. > In addition we should promote {{Store}}'s interface audience to > LimitedPrivate(COPROC). -- This message was sent by Atlassian JIRA (v6.3.4#6332)