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/08/25 08:33:08 UTC

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

Author: stack
Date: Thu Aug 25 06:33:08 2011
New Revision: 1161406

URL: http://svn.apache.org/viewvc?rev=1161406&view=rev
Log:
HBASE-4234  Let regionserver abort if rollback fail after point-of-no-return

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

Modified: hbase/branches/0.90/CHANGES.txt
URL: http://svn.apache.org/viewvc/hbase/branches/0.90/CHANGES.txt?rev=1161406&r1=1161405&r2=1161406&view=diff
==============================================================================
--- hbase/branches/0.90/CHANGES.txt (original)
+++ hbase/branches/0.90/CHANGES.txt Thu Aug 25 06:33:08 2011
@@ -20,6 +20,8 @@ Release 0.90.5 - Unreleased
                (Brock Noland)
    HBASE-4225  NoSuchColumnFamilyException in multi doesn't say which family
                is bad (ramkrishna.s.vasudevan)
+   HBASE-4234  Let regionserver abort if rollback fail after point-of-no-return
+               on branch (Jieshan Bean)
 
   IMPROVEMENT
    HBASE-4205  Enhance HTable javadoc (Eric Charles)

Modified: hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/regionserver/CompactSplitThread.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/regionserver/CompactSplitThread.java?rev=1161406&r1=1161405&r2=1161406&view=diff
==============================================================================
--- hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/regionserver/CompactSplitThread.java (original)
+++ hbase/branches/0.90/src/main/java/org/apache/hadoop/hbase/regionserver/CompactSplitThread.java Thu Aug 25 06:33:08 2011
@@ -156,11 +156,14 @@ public class CompactSplitThread extends 
       st.execute(this.server, this.server);
     } catch (IOException ioe) {
       try {
-        LOG.info("Running rollback of failed split of " +
-          parent.getRegionNameAsString() + "; " + ioe.getMessage());
-        st.rollback(this.server, this.server);
-        LOG.info("Successful rollback of failed split of " +
-          parent.getRegionNameAsString());
+        LOG.info("Running rollback/cleanup of failed split of "
+            + parent.getRegionNameAsString() + "; " + ioe.getMessage());
+        if (st.rollback(this.server, this.server)) {
+          LOG.info("Successful rollback of failed split of "
+              + parent.getRegionNameAsString());
+        } else {
+          this.server.abort("Abort; we got an error after point-of-no-return");
+        }
       } catch (Exception ee) {
         // If failed rollback, kill this server to avoid having a hole in table.
         LOG.info("Failed rollback of failed split of " +