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;


Reply via email to