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 2013/07/17 07:36:18 UTC

svn commit: r1504003 - in /hbase/branches/0.95: hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/ hbase-server/src/main/java/org/apache/hadoop/hbase/master/ hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ hbase-server/src/t...

Author: stack
Date: Wed Jul 17 05:36:17 2013
New Revision: 1504003

URL: http://svn.apache.org/r1504003
Log:
HBASE-8957 TestDrainingServer. testDrainingServerWithAbort fails

Modified:
    hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKAssign.java
    hbase/branches/0.95/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
    hbase/branches/0.95/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
    hbase/branches/0.95/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java
    hbase/branches/0.95/hbase-server/src/test/java/org/apache/hadoop/hbase/TestDrainingServer.java

Modified: hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKAssign.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKAssign.java?rev=1504003&r1=1504002&r2=1504003&view=diff
==============================================================================
--- hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKAssign.java (original)
+++ hbase/branches/0.95/hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKAssign.java Wed Jul 17 05:36:17 2013
@@ -783,8 +783,7 @@ public class ZKAssign {
   throws KeeperException {
     String encoded = region.getEncodedName();
     if(LOG.isDebugEnabled()) {
-      LOG.debug(zkw.prefix("Attempting to transition node " +
-        HRegionInfo.prettyPrint(encoded) +
+      LOG.debug(zkw.prefix("Transitioning " + HRegionInfo.prettyPrint(encoded) +
         " from " + beginState.toString() + " to " + endState.toString()));
     }
 
@@ -995,9 +994,7 @@ public class ZKAssign {
       List<String> znodes =
         ZKUtil.listChildrenAndWatchForNewChildren(zkw, zkw.assignmentZNode);
       if (znodes != null && !znodes.isEmpty()) {
-        for (String znode : znodes) {
-          LOG.debug("ZK RIT -> " + znode);
-        }
+        LOG.debug("Waiting on RIT: " + znodes);
       }
       Thread.sleep(100);
     }

Modified: hbase/branches/0.95/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.95/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java?rev=1504003&r1=1504002&r2=1504003&view=diff
==============================================================================
--- hbase/branches/0.95/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java (original)
+++ hbase/branches/0.95/hbase-server/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java Wed Jul 17 05:36:17 2013
@@ -1851,7 +1851,7 @@ public class AssignmentManager extends Z
         LOG.debug("Server stopped/aborted; skipping assign of " + region);
         return;
       }
-      LOG.info("Assigning region " + region.getRegionNameAsString() +
+      LOG.info("Assigning " + region.getRegionNameAsString() +
           " to " + plan.getDestination().toString());
       // Transition RegionState to PENDING_OPEN
       currentState = regionStates.updateRegionState(region,

Modified: hbase/branches/0.95/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.95/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java?rev=1504003&r1=1504002&r2=1504003&view=diff
==============================================================================
--- hbase/branches/0.95/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java (original)
+++ hbase/branches/0.95/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java Wed Jul 17 05:36:17 2013
@@ -1431,17 +1431,12 @@ public class HRegionServer implements Cl
   }
 
   private HLog getMetaWAL() throws IOException {
-    if (this.hlogForMeta == null) {
-      final String logName
-      = HLogUtil.getHLogDirectoryName(this.serverNameFromMasterPOV.toString());
-
-      Path logdir = new Path(rootDir, logName);
-      if (LOG.isDebugEnabled()) LOG.debug("logdir=" + logdir);
-
-      this.hlogForMeta = HLogFactory.createMetaHLog(this.fs.getBackingFs(),
-          rootDir, logName, this.conf, getMetaWALActionListeners(),
-          this.serverNameFromMasterPOV.toString());
-    }
+    if (this.hlogForMeta != null) return this.hlogForMeta;
+    final String logName = HLogUtil.getHLogDirectoryName(this.serverNameFromMasterPOV.toString());
+    Path logdir = new Path(rootDir, logName);
+    if (LOG.isDebugEnabled()) LOG.debug("logdir=" + logdir);
+    this.hlogForMeta = HLogFactory.createMetaHLog(this.fs.getBackingFs(), rootDir, logName,
+      this.conf, getMetaWALActionListeners(), this.serverNameFromMasterPOV.toString());
     return this.hlogForMeta;
   }
 
@@ -1483,7 +1478,7 @@ public class HRegionServer implements Cl
     MetaLogRoller tmpLogRoller = new MetaLogRoller(this, this);
     String n = Thread.currentThread().getName();
     Threads.setDaemonThreadRunning(tmpLogRoller.getThread(),
-        n + "MetaLogRoller", uncaughtExceptionHandler);
+        n + "-MetaLogRoller", uncaughtExceptionHandler);
     this.metaHLogRoller = tmpLogRoller;
     tmpLogRoller = null;
     listeners.add(this.metaHLogRoller);
@@ -1665,8 +1660,7 @@ public class HRegionServer implements Cl
     //currently, we don't care about the region as much as we care about the
     //table.. (hence checking the tablename below)
     //_ROOT_ and .META. regions have separate WAL.
-    if (regionInfo != null &&
-        regionInfo.isMetaTable()) {
+    if (regionInfo != null && regionInfo.isMetaTable()) {
       return getMetaWAL();
     }
     return this.hlog;

Modified: hbase/branches/0.95/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.95/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java?rev=1504003&r1=1504002&r2=1504003&view=diff
==============================================================================
--- hbase/branches/0.95/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java (original)
+++ hbase/branches/0.95/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java Wed Jul 17 05:36:17 2013
@@ -558,7 +558,7 @@ public class HBaseTestingUtility extends
     if (readOnProp != null){
       return  Boolean.parseBoolean(readOnProp);
     } else {
-      return conf.getBoolean(propName, true);
+      return conf.getBoolean(propName, false);
     }
   }
 

Modified: hbase/branches/0.95/hbase-server/src/test/java/org/apache/hadoop/hbase/TestDrainingServer.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.95/hbase-server/src/test/java/org/apache/hadoop/hbase/TestDrainingServer.java?rev=1504003&r1=1504002&r2=1504003&view=diff
==============================================================================
--- hbase/branches/0.95/hbase-server/src/test/java/org/apache/hadoop/hbase/TestDrainingServer.java (original)
+++ hbase/branches/0.95/hbase-server/src/test/java/org/apache/hadoop/hbase/TestDrainingServer.java Wed Jul 17 05:36:17 2013
@@ -35,6 +35,7 @@ import org.apache.hadoop.hbase.regionser
 import org.apache.hadoop.hbase.regionserver.HRegionServer;
 import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.hadoop.hbase.util.JVMClusterUtil;
+import org.apache.hadoop.hbase.util.Threads;
 import org.apache.hadoop.hbase.zookeeper.ZKAssign;
 import org.apache.hadoop.hbase.zookeeper.ZKUtil;
 import org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher;
@@ -184,11 +185,8 @@ public class TestDrainingServer {
     final long regionCount = TEST_UTIL.getMiniHBaseCluster().countServedRegions();
 
     // Let's get a copy of the regions today.
-    Collection<HRegion> regions = new ArrayList<HRegion>();
-    for (int i = 0; i < NB_SLAVES; i++) {
-      HRegionServer hrs = TEST_UTIL.getMiniHBaseCluster().getRegionServer(i);
-      regions.addAll( hrs.getCopyOfOnlineRegionsSortedBySize().values() );
-    }
+    Collection<HRegion> regions = getRegions();
+    LOG.info("All regions: " + regions);
 
       // Choose the draining server
     HRegionServer drainingServer = TEST_UTIL.getMiniHBaseCluster().getRegionServer(0);
@@ -229,8 +227,7 @@ public class TestDrainingServer {
 
       Collection<HRegion> regionsAfter =
           drainingServer.getCopyOfOnlineRegionsSortedBySize().values();
-      LOG.info("Regions of drained server are: " + regionsAfter);
-
+      LOG.info("Regions of drained server: " + regionsAfter + ", all regions: " + getRegions());
       Assert.assertEquals("Test conditions are not met: regions were" +
         " created/deleted during the test. ",
         regionCount, TEST_UTIL.getMiniHBaseCluster().countServedRegions());
@@ -260,9 +257,17 @@ public class TestDrainingServer {
     }
   }
 
+  private Collection<HRegion> getRegions() {
+    Collection<HRegion> regions = new ArrayList<HRegion>();
+    for (int i = 0; i < NB_SLAVES; i++) {
+      HRegionServer hrs = TEST_UTIL.getMiniHBaseCluster().getRegionServer(i);
+      regions.addAll( hrs.getCopyOfOnlineRegionsSortedBySize().values() );
+    }
+    return regions;
+  }
+
   private static void waitForAllRegionsOnline() throws Exception {
     // Wait for regions to come back on line again.
-
     boolean done = false;
     while (!done) {
       Thread.sleep(1);
@@ -284,6 +289,8 @@ public class TestDrainingServer {
         if (!rs.getRegionServer().getRegionsInTransitionInRS().isEmpty()) {
           done = false;
         }
+        // Sleep some else we spam the log w/ notice that servers are not yet alive.
+        Threads.sleep(10);
       }
     }
   }
@@ -292,6 +299,4 @@ public class TestDrainingServer {
     return TEST_UTIL.getMiniHBaseCluster().countServedRegions() ==
         (COUNT_OF_REGIONS + 1 /*catalog regions*/);
   }
-
-}
-
+}
\ No newline at end of file