You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ns...@apache.org on 2011/12/06 00:14:31 UTC

svn commit: r1210699 - /hbase/trunk/src/main/java/org/apache/hadoop/hbase/util/RegionSplitter.java

Author: nspiegelberg
Date: Mon Dec  5 23:14:31 2011
New Revision: 1210699

URL: http://svn.apache.org/viewvc?rev=1210699&view=rev
Log:
HBASE-4860 RegionSplitter Should Allow NSFRE during logical split verification

Modified:
    hbase/trunk/src/main/java/org/apache/hadoop/hbase/util/RegionSplitter.java

Modified: hbase/trunk/src/main/java/org/apache/hadoop/hbase/util/RegionSplitter.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/util/RegionSplitter.java?rev=1210699&r1=1210698&r2=1210699&view=diff
==============================================================================
--- hbase/trunk/src/main/java/org/apache/hadoop/hbase/util/RegionSplitter.java (original)
+++ hbase/trunk/src/main/java/org/apache/hadoop/hbase/util/RegionSplitter.java Mon Dec  5 23:14:31 2011
@@ -638,8 +638,15 @@ public class RegionSplitter {
       byte[] split = region.getSecond();
 
       // see if the new split daughter region has come online
-      HRegionInfo dri = table.getRegionLocation(split).getRegionInfo();
-      if (dri.isOffline() || !Bytes.equals(dri.getStartKey(), split)) {
+      try {
+        HRegionInfo dri = table.getRegionLocation(split).getRegionInfo();
+        if (dri.isOffline() || !Bytes.equals(dri.getStartKey(), split)) {
+          logicalSplitting.add(region);
+          continue;
+        }
+      } catch (NoServerForRegionException nsfre) {
+        // NSFRE will occur if the old META entry has no server assigned
+        LOG.info(nsfre);
         logicalSplitting.add(region);
         continue;
       }