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);