Index: hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java =================================================================== --- hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java (revision 1529632) +++ hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java (working copy) @@ -2579,10 +2579,15 @@ protected HRegion getRegion(final byte[] regionName) throws NotServingRegionException { String encodedRegionName = HRegionInfo.encodeRegionName(regionName); - return getRegionByEncodedName(encodedRegionName); + return getRegionByEncodedName(regionName, encodedRegionName); } protected HRegion getRegionByEncodedName(String encodedRegionName) + throws NotServingRegionException { + return getRegionByEncodedName(null, encodedRegionName); + } + + protected HRegion getRegionByEncodedName(byte[] regionName, String encodedRegionName) throws NotServingRegionException { HRegion region = this.onlineRegions.get(encodedRegionName); if (region == null) { @@ -2591,10 +2596,12 @@ throw new RegionMovedException(moveInfo.getServerName(), moveInfo.getSeqNum()); } Boolean isOpening = this.regionsInTransitionInRS.get(Bytes.toBytes(encodedRegionName)); + String regionNameStr = regionName == null? + encodedRegionName: Bytes.toStringBinary(regionName); if (isOpening != null && isOpening.booleanValue()) { - throw new RegionOpeningException("Region is being opened: " + encodedRegionName); + throw new RegionOpeningException("Region " + regionNameStr + " is opening"); } - throw new NotServingRegionException("Region is not online: " + encodedRegionName); + throw new NotServingRegionException("Region " + regionNameStr + " is not online"); } return region; } @@ -3969,7 +3976,7 @@ */ protected HRegion getRegion( final RegionSpecifier regionSpecifier) throws IOException { - return getRegionByEncodedName( + return getRegionByEncodedName(regionSpecifier.getValue().toByteArray(), ProtobufUtil.getRegionEncodedName(regionSpecifier)); }