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