You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by en...@apache.org on 2013/10/10 20:40:23 UTC

svn commit: r1531070 - /hbase/branches/0.96/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java

Author: enis
Date: Thu Oct 10 18:40:23 2013
New Revision: 1531070

URL: http://svn.apache.org/r1531070
Log:
HBASE-9724 Failed region split is not handled correctly by AM

Modified:
    hbase/branches/0.96/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java

Modified: hbase/branches/0.96/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.96/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java?rev=1531070&r1=1531069&r2=1531070&view=diff
==============================================================================
--- hbase/branches/0.96/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java (original)
+++ hbase/branches/0.96/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java Thu Oct 10 18:40:23 2013
@@ -146,7 +146,7 @@ public class AssignmentManager extends Z
    * See below in {@link #assign()} and {@link #unassign()}.
    */
   private final int maximumAttempts;
-  
+
   /**
    * The sleep time for which the assignment will wait before retrying in case of hbase:meta assignment
    * failure due to lack of availability of region plan
@@ -1324,7 +1324,15 @@ public class AssignmentManager extends Z
                   + "but this table is disabled, triggering close of region");
                 unassign(regionInfo);
               }
+            } else if (rs.isSplitting()) {
+              LOG.debug("Ephemeral node deleted.  Found in SPLITTING state. " + "Removing from RIT "
+                  + rs.getRegion());
+              // it can be either SPLIT fail, or RS dead.
+              regionStates.regionOnline(rs.getRegion(), rs.getServerName());
             }
+            // RS does not delete the znode in case SPLIT, it only means RS died which
+            // will be handled by SSH
+            // in region merge  we do not put merging regions to MERGING state
           } finally {
             lock.unlock();
           }