You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by jd...@apache.org on 2011/06/30 00:21:18 UTC

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

Author: jdcryans
Date: Wed Jun 29 22:21:18 2011
New Revision: 1141289

URL: http://svn.apache.org/viewvc?rev=1141289&view=rev
Log:
 HBASE-3984  CT.verifyRegionLocation isn't doing a very good check,
             can delay cluster recovery

Modified:
    hbase/branches/0.90/CHANGES.txt
    hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
    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=1141289&r1=1141288&r2=1141289&view=diff
==============================================================================
--- hbase/branches/0.90/CHANGES.txt (original)
+++ hbase/branches/0.90/CHANGES.txt Wed Jun 29 22:21:18 2011
@@ -49,6 +49,8 @@ Release 0.90.4 - Unreleased
    HBASE-4035  Fix local-master-backup.sh - parameter order wrong (Lars George)
    HBASE-4020  "testWritesWhileGetting" unit test needs to be fixed.
                (Vandana Ayyalasomayajula)
+   HBASE-3984  CT.verifyRegionLocation isn't doing a very good check,
+               can delay cluster recovery
 
   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/master/AssignmentManager.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java?rev=1141289&r1=1141288&r2=1141289&view=diff
==============================================================================
--- hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java (original)
+++ hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java Wed Jun 29 22:21:18 2011
@@ -1042,7 +1042,8 @@ public class AssignmentManager extends Z
         // succeed anyways; we need a new plan!
         // Transition back to OFFLINE
         state.update(RegionState.State.OFFLINE);
-        // Force a new plan and reassign.  Will return null if no servers.
+        // Force a new plan and reassign.  Will return n
+        // ull if no servers.
         if (getRegionPlan(state, plan.getDestination(), true) == null) {
           LOG.warn("Unable to find a viable location to assign region " +
             state.getRegion().getRegionNameAsString());

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=1141289&r1=1141288&r2=1141289&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 Wed Jun 29 22:21:18 2011
@@ -1629,7 +1629,8 @@ public class HRegionServer implements HR
   @Override
   @QosPriority(priority=HIGH_QOS)
   public HRegionInfo getRegionInfo(final byte[] regionName)
-  throws NotServingRegionException {
+  throws NotServingRegionException, IOException {
+    checkOpen();
     requestCount.incrementAndGet();
     return getRegion(regionName).getRegionInfo();
   }
@@ -1945,9 +1946,9 @@ public class HRegionServer implements HR
 
   public int delete(final byte[] regionName, final List<Delete> deletes)
       throws IOException {
+    checkOpen();
     // Count of Deletes processed.
     int i = 0;
-    checkOpen();
     HRegion region = null;
     try {
       boolean writeToWAL = true;
@@ -2068,6 +2069,7 @@ public class HRegionServer implements HR
   @Override
   public void bulkLoadHFile(String hfilePath, byte[] regionName,
       byte[] familyName) throws IOException {
+    checkOpen();
     HRegion region = getRegion(regionName);
     region.bulkLoadHFile(hfilePath, familyName);
   }
@@ -2183,6 +2185,7 @@ public class HRegionServer implements HR
   @QosPriority(priority=HIGH_QOS)
   public void flushRegion(HRegionInfo regionInfo)
       throws NotServingRegionException, IOException {
+    checkOpen();
     LOG.info("Flushing " + regionInfo.getRegionNameAsString());
     HRegion region = getRegion(regionInfo.getRegionName());
     region.flushcache();
@@ -2198,6 +2201,7 @@ public class HRegionServer implements HR
   @Override
   public void splitRegion(HRegionInfo regionInfo, byte[] splitPoint)
       throws NotServingRegionException, IOException {
+    checkOpen();
     HRegion region = getRegion(regionInfo.getRegionName());
     region.flushcache();
     region.forceSplit(splitPoint);
@@ -2212,6 +2216,7 @@ public class HRegionServer implements HR
   @QosPriority(priority=HIGH_QOS)
   public void compactRegion(HRegionInfo regionInfo, boolean major)
       throws NotServingRegionException, IOException {
+    checkOpen();
     HRegion region = getRegion(regionInfo.getRegionName());
     compactSplitThread.requestCompaction(region, major, "User-triggered "
         + (major ? "major " : "") + "compaction",
@@ -2514,13 +2519,14 @@ public class HRegionServer implements HR
   @Override
   @QosPriority(priority=HIGH_QOS)
   public HServerInfo getHServerInfo() throws IOException {
+    checkOpen();
     return serverInfo;
   }
 
   @SuppressWarnings("unchecked")
   @Override
   public MultiResponse multi(MultiAction multi) throws IOException {
-
+    checkOpen();
     MultiResponse response = new MultiResponse();
 
     for (Map.Entry<byte[], List<Action>> e : multi.actions.entrySet()) {
@@ -2615,6 +2621,7 @@ public class HRegionServer implements HR
    */
   @Override
   public MultiPutResponse multiPut(MultiPut puts) throws IOException {
+    checkOpen();
     MultiPutResponse resp = new MultiPutResponse();
 
     // do each region as it's own.
@@ -2716,6 +2723,7 @@ public class HRegionServer implements HR
   @Override
   public void replicateLogEntries(final HLog.Entry[] entries)
   throws IOException {
+    checkOpen();
     if (this.replicationHandler == null) return;
     this.replicationHandler.replicateLogEntries(entries);
   }