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 2008/07/03 21:27:10 UTC
svn commit: r673770 - in /hadoop/hbase/trunk: CHANGES.txt
src/java/org/apache/hadoop/hbase/regionserver/CompactSplitThread.java
src/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
Author: stack
Date: Thu Jul 3 12:27:09 2008
New Revision: 673770
URL: http://svn.apache.org/viewvc?rev=673770&view=rev
Log:
HBASE-703 Invalid regions listed by regionserver.jsp
Modified:
hadoop/hbase/trunk/CHANGES.txt
hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/CompactSplitThread.java
hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
Modified: hadoop/hbase/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/CHANGES.txt?rev=673770&r1=673769&r2=673770&view=diff
==============================================================================
--- hadoop/hbase/trunk/CHANGES.txt (original)
+++ hadoop/hbase/trunk/CHANGES.txt Thu Jul 3 12:27:09 2008
@@ -166,6 +166,7 @@
HBASE-712 midKey found compacting is the first, not necessarily the optimal
HBASE-719 Find out why users have network problems in HBase and not in Hadoop
and HConnectionManager (Jean-Daniel Cryans via Stack)
+ HBASE-703 Invalid regions listed by regionserver.jsp (Izaak Rubin via Stack)
IMPROVEMENTS
HBASE-559 MR example job to count table rows
Modified: hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/CompactSplitThread.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/CompactSplitThread.java?rev=673770&r1=673769&r2=673770&view=diff
==============================================================================
--- hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/CompactSplitThread.java (original)
+++ hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/CompactSplitThread.java Thu Jul 3 12:27:09 2008
@@ -159,6 +159,9 @@
// NOTE: there is no need for retry logic here. HTable does it for us.
oldRegionInfo.setOffline(true);
oldRegionInfo.setSplit(true);
+ // Inform the HRegionServer that the parent HRegion is no-longer online.
+ this.server.removeFromOnlineRegions(oldRegionInfo);
+
BatchUpdate update = new BatchUpdate(oldRegionInfo.getRegionName());
update.put(COL_REGIONINFO, Writables.getBytes(oldRegionInfo));
update.put(COL_SPLITA, Writables.getBytes(newRegions[0].getRegionInfo()));
Modified: hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java?rev=673770&r1=673769&r2=673770&view=diff
==============================================================================
--- hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java (original)
+++ hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java Thu Jul 3 12:27:09 2008
@@ -904,15 +904,8 @@
}
void closeRegion(final HRegionInfo hri, final boolean reportWhenCompleted)
- throws IOException {
- this.lock.writeLock().lock();
- HRegion region = null;
- try {
- region = onlineRegions.remove(Bytes.mapKey(hri.getRegionName()));
- } finally {
- this.lock.writeLock().unlock();
- }
-
+ throws IOException {
+ HRegion region = this.removeFromOnlineRegions(hri);
if (region != null) {
region.close();
if(reportWhenCompleted) {
@@ -1326,6 +1319,23 @@
}
return result;
}
+
+ /**
+ * This method removes HRegion corresponding to hri from the Map of onlineRegions.
+ *
+ * @param hri the HRegionInfo corresponding to the HRegion to-be-removed.
+ * @return the removed HRegion, or null if the HRegion was not in onlineRegions.
+ */
+ HRegion removeFromOnlineRegions(HRegionInfo hri) {
+ this.lock.writeLock().lock();
+ HRegion toReturn = null;
+ try {
+ toReturn = onlineRegions.remove(Bytes.mapKey(hri.getRegionName()));
+ } finally {
+ this.lock.writeLock().unlock();
+ }
+ return toReturn;
+ }
/**
* @return A new Map of online regions sorted by region size with the first