[ 
https://issues.apache.org/jira/browse/HBASE-7103?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13494843#comment-13494843
 ] 

ramkrishna.s.vasudevan commented on HBASE-7103:
-----------------------------------------------

This patch makes the transition to SPLITTING after creating the node once the 
first journal entry is added.
What do we get out of this is
-> If any parallel split request comes the second one will fail because the 
znode creation will fail saying node already exists.  So there is no impact due 
to rollback as nothing is added in the journal for the second split and so no 
deletion of the znode happens.
-> Now if while transitioning to SPLITTING if it fails, then it will lead to 
rollback that will delete the znode.  Anyway that is not going to impact 
anything on the RIT in master side as only after the transition is done the RIT 
will be populated first time. If nothing is there then no impact.
Pls provide your comments on this, i can prepare for trunk too if this is fine. 
:)
                
> 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_0.94.patch, 
> 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

Reply via email to