Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Cannot Reproduce
-
0.90.6
-
None
-
None
-
None
Description
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))
}
...