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/07/14 07:05:54 UTC

svn commit: r1146557 - /hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/SplitTransaction.java

Author: stack
Date: Thu Jul 14 05:05:54 2011
New Revision: 1146557

URL: http://svn.apache.org/viewvc?rev=1146557&view=rev
Log:
HBASE-3872 Hole in split transaction rollback; edits to .META. need to be rolled back even if it seems like they didn't make it; fix failing HRegion test -- server passed is null, allow for this in tests when running splits

Modified:
    hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/SplitTransaction.java

Modified: hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/SplitTransaction.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/SplitTransaction.java?rev=1146557&r1=1146556&r2=1146557&view=diff
==============================================================================
--- hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/SplitTransaction.java (original)
+++ hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/SplitTransaction.java Thu Jul 14 05:05:54 2011
@@ -375,7 +375,8 @@ public class SplitTransaction {
 
     DaughterOpener(final Server s, final RegionServerServices services,
         final HRegion r) {
-      super(s.getServerName() + "-daughterOpener=" + r.getRegionInfo().getEncodedName());
+      super((s == null? "null-services": s.getServerName()) +
+        "-daughterOpener=" + r.getRegionInfo().getEncodedName());
       setDaemon(true);
       this.services = services;
       this.server = s;
@@ -411,8 +412,9 @@ public class SplitTransaction {
   void openDaughterRegion(final Server server,
       final RegionServerServices services, final HRegion daughter)
   throws IOException, KeeperException {
+    boolean stopped = server != null && server.isStopped();
     boolean stopping = services != null && services.isStopping();
-    if (server.isStopped() || stopping) {
+    if (stopped || stopping) {
       MetaEditor.addDaughter(server.getCatalogTracker(),
         daughter.getRegionInfo(), null);
       LOG.info("Not opening daughter " +
@@ -421,7 +423,7 @@ public class SplitTransaction {
       return;
     }
     HRegionInfo hri = daughter.getRegionInfo();
-    LoggingProgressable reporter =
+    LoggingProgressable reporter = server == null? null:
       new LoggingProgressable(hri, server.getConfiguration());
     HRegion r = daughter.openHRegion(reporter);
     if (services != null) {