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

        

Reply via email to