You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by te...@apache.org on 2011/11/12 05:47:35 UTC

svn commit: r1201187 - in /hbase/branches/0.92: CHANGES.txt src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java

Author: tedyu
Date: Sat Nov 12 04:47:35 2011
New Revision: 1201187

URL: http://svn.apache.org/viewvc?rev=1201187&view=rev
Log:
HBASE-4478  Improve AssignmentManager.handleRegion so that it can process certain ZK state
               in the case of RS offline

Modified:
    hbase/branches/0.92/CHANGES.txt
    hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java

Modified: hbase/branches/0.92/CHANGES.txt
URL: http://svn.apache.org/viewvc/hbase/branches/0.92/CHANGES.txt?rev=1201187&r1=1201186&r2=1201187&view=diff
==============================================================================
--- hbase/branches/0.92/CHANGES.txt (original)
+++ hbase/branches/0.92/CHANGES.txt Sat Nov 12 04:47:35 2011
@@ -419,6 +419,8 @@ Release 0.92.0 - Unreleased
    HBASE-4511  There is data loss when master failovers
    HBASE-4577  Region server reports storefileSizeMB bigger than
                storefileUncompressedSizeMB (gaojinchao)
+   HBASE-4478  Improve AssignmentManager.handleRegion so that it can process certain ZK state
+               in the case of RS offline
 
   TESTS
    HBASE-4492  TestRollingRestart fails intermittently

Modified: hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java?rev=1201187&r1=1201186&r2=1201187&view=diff
==============================================================================
--- hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java (original)
+++ hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java Sat Nov 12 04:47:35 2011
@@ -24,6 +24,7 @@ import java.io.DataOutput;
 import java.io.IOException;
 import java.lang.Thread.UncaughtExceptionHandler;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Date;
 import java.util.Collections;
 import java.util.HashMap;
@@ -163,6 +164,10 @@ public class AssignmentManager extends Z
 
   //Thread pool executor service for timeout monitor
   private java.util.concurrent.ExecutorService threadPoolExecutorService;
+  
+  private List<EventType> ignoreStatesRSOffline = Arrays.asList(new EventType[]{
+      EventType.RS_ZK_REGION_FAILED_OPEN, EventType.RS_ZK_REGION_CLOSED });
+  
 
   /**
    * Constructs a new assignment manager.
@@ -614,7 +619,8 @@ public class AssignmentManager extends Z
       String prettyPrintedRegionName = HRegionInfo.prettyPrint(encodedName);
       // Verify this is a known server
       if (!serverManager.isServerOnline(sn) &&
-          !this.master.getServerName().equals(sn)) {
+          !this.master.getServerName().equals(sn)
+          && !ignoreStatesRSOffline.contains(data.getEventType())) {
         LOG.warn("Attempted to handle region transition for server but " +
           "server is not online: " + prettyPrintedRegionName);
         return;