[
https://issues.apache.org/jira/browse/HBASE-12686?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14246465#comment-14246465
]
Rajeshbabu Chintaguntla commented on HBASE-12686:
-------------------------------------------------
Patch looks good. Below are minor suggestions.
1) Can't we use below class in TestSplitTransactionOnCluster and load the
coprocessor instead of new class?
{code}
public static class FailingSplitRegionObserver extends BaseRegionObserver {
static volatile CountDownLatch latch = new CountDownLatch(1);
@Override
public void
preSplitBeforePONR(ObserverContext<RegionCoprocessorEnvironment> ctx,
byte[] splitKey, List<Mutation> metaEntries) throws IOException {
latch.countDown();
throw new IOException("Causing rollback of region split");
}
}
{code}
2) Can we just use locking so that we can wait from failure happened instead of
waiting from when split requested?
> Failures in split before PONR not clearing the daughter regions from regions
> in transition during rollback
> ----------------------------------------------------------------------------------------------------------
>
> Key: HBASE-12686
> URL: https://issues.apache.org/jira/browse/HBASE-12686
> Project: HBase
> Issue Type: Bug
> Components: Region Assignment
> Affects Versions: 0.98.9
> Reporter: Rajeshbabu Chintaguntla
> Assignee: Vandana Ayyalasomayajula
> Priority: Blocker
> Fix For: 1.0.0, 2.0.0, 0.98.9
>
> Attachments: HBASE-12686-98.patch, HBASE-12686-branch-1.patch
>
>
> If there are any split failures then the both daughter regions left in
> SPLITTING_NEW transition even after rollback, which will block balancing to
> happen forever until unless master is restarted.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)