[ https://issues.apache.org/jira/browse/HBASE-8127?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13618960#comment-13618960 ]
rajeshbabu commented on HBASE-8127: ----------------------------------- @Ted, I ran multiple times before uploading patch then its passed. But Now when I ran it,got the same problem. Thanks. Here the problem is SSH started after master initialization. Same problem exists with latest patch. {code} + if ((rit != null || !((HMaster) this.server).isInitialized()) && disabled) { {code} I think https://issues.apache.org/jira/secure/attachment/12575180/HBASE-8127_94_2.patch will be better. [~jeffreyz] what do you say? > Region of a disabling or disabled table could be stuck in transition state > when RS dies during Master initialization > -------------------------------------------------------------------------------------------------------------------- > > Key: HBASE-8127 > URL: https://issues.apache.org/jira/browse/HBASE-8127 > Project: HBase > Issue Type: Bug > Affects Versions: 0.94.5 > Reporter: Jeffrey Zhong > Assignee: rajeshbabu > Fix For: 0.94.7 > > Attachments: HBASE-8127_94_2.patch, HBASE-8127_94_3.patch, > HBASE-8127_feedback.patch, HBASE-8127.patch, hbase-8127_v1.patch, > reproduce-hang.patch > > > The issue happens when a RS dies during a master starts up. After the RS > reports open to the new master instance and dies immediately thereafter, the > RITs of disabling tables(or disabled table) on the died RS will be in RIT > state forever. > I attached a patch to simulate the situation and you can run the following > command to reproduce the issue: > {code}mvn test -PlocalTests > -Dtest=TestMasterFailover#testMasterFailoverWithMockedRITOnDeadRS{code} > Basically, we skip regions of a dead server inside > AM.processDeadServersAndRecoverLostRegions as the following code and relies > on SSH to process those skipped regions: > {code} > for (Pair<HRegionInfo, Result> deadRegion : deadServer.getValue()) { > nodes.remove(deadRegion.getFirst().getEncodedName()); > } > {code} > While in SSH, we skip regions of disabling(or disabled table) again by > function processDeadRegion. Finally comes to the issue that RITs of > disabling(or disabled table) stuck there forever. > -- 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