chunhui shen created HBASE-7506: ----------------------------------- Summary: Judgement of carrtying ROOT/META will become wrong when expiring server Key: HBASE-7506 URL: https://issues.apache.org/jira/browse/HBASE-7506 Project: HBase Issue Type: Bug Affects Versions: 0.94.3 Reporter: chunhui shen Assignee: chunhui shen Fix For: 0.96.0
We will check whether server carrying ROOT/META when expiring the server. See ServerManager#expireServer. If the dead server carrying META, we assign meta directly in the process of ServerShutdownHandler. If the dead server carrying ROOT, we will offline ROOT and then verifyAndAssignRootWithRetries() How judgement of carrtying ROOT/META become wrong? If region is in RIT, and isCarryingRegion() return true after addressing from zk. However, once RIT time out(could be caused by this.allRegionServersOffline && !noRSAvailable, see AssignmentManager#TimeoutMonitor) and we assign it to otherwhere, this judgement become wrong. See AssignmentManager#isCarryingRegion for details With the wrong judgement of carrtying ROOT/META, we would assign ROOT/META twice. -- 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