[
https://issues.apache.org/jira/browse/HBASE-7103?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13494691#comment-13494691
]
ramkrishna.s.vasudevan commented on HBASE-7103:
-----------------------------------------------
Doing as said above has one implication, because the SPLITTING node is created
on the RS side the master does not get the callback for node created. Hence
the in memory RIT SPLITTING state is not added to master.
But once the transtion happens to SPLIT the nodeDataChange adds the state to RIT
{code}
if (regionState == null) {
regionState = addSplittingToRIT(sn, encodedName);
String message = "Received SPLIT for region " +
prettyPrintedRegionName +
" from server " + sn;
// If still null, it means we cannot find it and it was already
processed
if (regionState == null) {
LOG.warn(message + " but it doesn't exist anymore," +
" probably already processed its split");
break;
}
LOG.info(message +
" but region was not first in SPLITTING state; continuing");
{code}
> Need to fail split if SPLIT znode is deleted even before the split is
> completed.
> --------------------------------------------------------------------------------
>
> Key: HBASE-7103
> URL: https://issues.apache.org/jira/browse/HBASE-7103
> Project: HBase
> Issue Type: Bug
> Reporter: ramkrishna.s.vasudevan
> Assignee: ramkrishna.s.vasudevan
> Fix For: 0.94.3, 0.96.0
>
> Attachments: 7103-6088-revert.txt, HBASE-7103_testcase.patch
>
>
> This came up after the following mail in dev list
> 'infinite loop of RS_ZK_REGION_SPLIT on .94.2'.
> The following is the reason for the problem
> The following steps happen
> -> Initially the parent region P1 starts splitting.
> -> The split is going on normally.
> -> Another split starts at the same time for the same region P1. (Not sure
> why this started).
> -> Rollback happens seeing an already existing node.
> -> This node gets deleted in rollback and nodeDeleted Event starts.
> -> In nodeDeleted event the RIT for the region P1 gets deleted.
> -> Because of this there is no region in RIT.
> -> Now the first split gets over. Here the problem is we try to transit the
> node to SPLITTING to SPLIT. But the node even does not exist.
> But we don take any action on this. We think it is successful.
> -> Because of this SplitRegionHandler never gets invoked.
--
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