Maryann Xue created HBASE-6169: ---------------------------------- Summary: When a RS aborts without finishing closing a region, this region will always remain "in transition". Key: HBASE-6169 URL: https://issues.apache.org/jira/browse/HBASE-6169 Project: HBase Issue Type: Bug Affects Versions: 0.94.0, 0.90.6 Reporter: Maryann Xue
When RS got an ZK error when trying to create a "CLOSING" node in the process of closing a region, it hence aborts without completing closing of the region. RS is then discovered dead by HMaster. ServerShutdownHandler does not try to reassign this region for it is in PENDING_CLOSE state; while all regions that originally belong to the dead RS get removed from the "regions" map. TimeoutMonitor then endlessly tries to "unassign" this region with LOG message "Region has been PENDING_CLOSE for too long". The "unassign" returns without doing anything, for this region does not exist in the "regions" map: public void unassign(HRegionInfo region, boolean force, ServerName dest) { // TODO: Method needs refactoring. Ugly buried returns throughout. Beware! LOG.debug("Starting unassignment of region " + region.getRegionNameAsString() + " (offlining)"); synchronized (this.regions) { // Check if this region is currently assigned if (!regions.containsKey(region)) { LOG.debug("Attempted to unassign region " + region.getRegionNameAsString() + " but it is not " + "currently assigned anywhere"); return; } } ... -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira