[ 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