You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by st...@apache.org on 2011/06/17 06:07:38 UTC

svn commit: r1136758 - in /hbase/branches/0.90: CHANGES.txt src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java

Author: stack
Date: Fri Jun 17 04:07:37 2011
New Revision: 1136758

URL: http://svn.apache.org/viewvc?rev=1136758&view=rev
Log:
HBASE-3989  Error occured while RegionServer report to Master 'we are up'  should get master address again

Modified:
    hbase/branches/0.90/CHANGES.txt
    hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java

Modified: hbase/branches/0.90/CHANGES.txt
URL: http://svn.apache.org/viewvc/hbase/branches/0.90/CHANGES.txt?rev=1136758&r1=1136757&r2=1136758&view=diff
==============================================================================
--- hbase/branches/0.90/CHANGES.txt (original)
+++ hbase/branches/0.90/CHANGES.txt Fri Jun 17 04:07:37 2011
@@ -38,6 +38,9 @@ Release 0.90.4 - Unreleased
    HBASE-3948  Improve split/compact result page for RegionServer status page
                (Li Pi)
    HBASE-3988  Infinite loop for secondary master (Liyin Tang)
+   HBASE-3989  Error occured while RegionServer report to Master "we are up"
+               should get master address again (Jieshan Bean)
+
 
   IMPROVEMENT
    HBASE-3882  hbase-config.sh needs to be updated so it can auto-detects the

Modified: hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java?rev=1136758&r1=1136757&r2=1136758&view=diff
==============================================================================
--- hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java (original)
+++ hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java Fri Jun 17 04:07:37 2011
@@ -1500,8 +1500,15 @@ public class HRegionServer implements HR
 
     MapWritable result = null;
     long lastMsg = 0;
+    
+    //If some exception occured while reporting to Master, we should 
+    //recheck the master address to avoid the address has been updated
+    boolean recheckMasterAddr = false;
     while (!stopped) {
       try {
+        if (recheckMasterAddr) {
+          masterAddress = getMaster();
+        }  
         this.requestCount.set(0);
         lastMsg = System.currentTimeMillis();
         ZKUtil.setAddressAndWatch(zooKeeper,
@@ -1520,11 +1527,14 @@ public class HRegionServer implements HR
           // Re-throw IOE will cause RS to abort
           throw ioe;
         } else {
+          recheckMasterAddr = true;
           LOG.warn("remote error telling master we are up", e);
         }
       } catch (IOException e) {
+        recheckMasterAddr = true;
         LOG.warn("error telling master we are up", e);
       } catch (KeeperException e) {
+        recheckMasterAddr = true;
         LOG.warn("error putting up ephemeral node in zookeeper", e);
       }
       sleeper.sleep(lastMsg);