Index: hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/handler/OpenRegionHandler.java =================================================================== --- hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/handler/OpenRegionHandler.java (revision 1441742) +++ hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/handler/OpenRegionHandler.java (working copy) @@ -87,6 +87,7 @@ @Override public void process() throws IOException { boolean openSuccessful = false; + boolean transitionToFailedOpen = false; final String regionName = regionInfo.getRegionNameAsString(); try { @@ -130,6 +131,7 @@ HRegion region = openRegion(); if (region == null) { tryTransitionFromOpeningToFailedOpen(regionInfo); + transitionToFailedOpen = true; return; } boolean failed = true; @@ -142,6 +144,7 @@ this.rsServices.isStopping()) { cleanupFailedOpen(region); tryTransitionFromOpeningToFailedOpen(regionInfo); + transitionToFailedOpen = true; return; } @@ -154,6 +157,7 @@ // In all cases, we try to transition to failed_open to be safe. cleanupFailedOpen(region); tryTransitionFromOpeningToFailedOpen(regionInfo); + transitionToFailedOpen = true; return; } @@ -197,6 +201,8 @@ " should be closed is now opened." ); } + } else if (transitionToFailedOpen == false) { + tryTransitionFromOpeningToFailedOpen(regionInfo); } } }