Author: larsh
Date: Thu Jan 2 21:52:06 2014
New Revision: 1554933
URL: http://svn.apache.org/r1554933
Log:
HBASE-8912 [0.94] AssignmentManager throws IllegalStateException from
PENDING_OPEN to OFFLINE
Modified:
hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/handler/OpenRegionHandler.java
Modified:
hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
URL:
http://svn.apache.org/viewvc/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java?rev=1554933&r1=1554932&r2=1554933&view=diff
==============================================================================
---
hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
(original)
+++
hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
Thu Jan 2 21:52:06 2014
@@ -3977,7 +3977,8 @@ public class HRegionServer implements HR
@Override
public boolean removeFromRegionsInTransition(final HRegionInfo hri) {
- return this.regionsInTransitionInRS.remove(hri.getEncodedNameAsBytes());
+ Boolean res =
this.regionsInTransitionInRS.remove(hri.getEncodedNameAsBytes());
+ return res != null && res.booleanValue();
}
@Override
Modified:
hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/handler/OpenRegionHandler.java
URL:
http://svn.apache.org/viewvc/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/handler/OpenRegionHandler.java?rev=1554933&r1=1554932&r2=1554933&view=diff
==============================================================================
---
hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/handler/OpenRegionHandler.java
(original)
+++
hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/handler/OpenRegionHandler.java
Thu Jan 2 21:52:06 2014
@@ -100,6 +100,7 @@ public class OpenRegionHandler extends E
// processing needs to do a close as part of cleanup.
region = openRegion();
if (region == null) {
+ this.rsServices.removeFromRegionsInTransition(this.regionInfo);
tryTransitionToFailedOpen(regionInfo);
transitionToFailedOpen = true;
return;
@@ -112,6 +113,7 @@ public class OpenRegionHandler extends E
}
if (failed || this.server.isStopped() ||
this.rsServices.isStopping()) {
+ this.rsServices.removeFromRegionsInTransition(this.regionInfo);
cleanupFailedOpen(region);
tryTransitionToFailedOpen(regionInfo);
transitionToFailedOpen = true;