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/22 22:56:05 UTC

svn commit: r1505807 - /hbase/branches/0.95/hbase-server/src/test/java/org/apache/hadoop/hbase/fs/TestBlockReorder.java

Author: stack
Date: Mon Jul 22 20:56:05 2013
New Revision: 1505807

URL: http://svn.apache.org/r1505807
Log:
HBASE-9012 TestBlockReorder.testBlockLocationReorder fails

Modified:
    hbase/branches/0.95/hbase-server/src/test/java/org/apache/hadoop/hbase/fs/TestBlockReorder.java

Modified: hbase/branches/0.95/hbase-server/src/test/java/org/apache/hadoop/hbase/fs/TestBlockReorder.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.95/hbase-server/src/test/java/org/apache/hadoop/hbase/fs/TestBlockReorder.java?rev=1505807&r1=1505806&r2=1505807&view=diff
==============================================================================
--- hbase/branches/0.95/hbase-server/src/test/java/org/apache/hadoop/hbase/fs/TestBlockReorder.java (original)
+++ hbase/branches/0.95/hbase-server/src/test/java/org/apache/hadoop/hbase/fs/TestBlockReorder.java Mon Jul 22 20:56:05 2013
@@ -19,6 +19,12 @@
 package org.apache.hadoop.hbase.fs;
 
 
+import java.lang.reflect.Field;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.net.BindException;
+import java.net.ServerSocket;
+
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.commons.logging.impl.Log4JLogger;
@@ -36,9 +42,9 @@ import org.apache.hadoop.hbase.MiniHBase
 import org.apache.hadoop.hbase.client.HTable;
 import org.apache.hadoop.hbase.client.Put;
 import org.apache.hadoop.hbase.regionserver.HRegionServer;
-import org.apache.hadoop.hbase.regionserver.wal.HLog;
 import org.apache.hadoop.hbase.regionserver.wal.HLogUtil;
 import org.apache.hadoop.hbase.util.FSUtils;
+import org.apache.hadoop.hbase.util.Threads;
 import org.apache.hadoop.hdfs.DFSClient;
 import org.apache.hadoop.hdfs.DistributedFileSystem;
 import org.apache.hadoop.hdfs.MiniDFSCluster;
@@ -56,11 +62,6 @@ import org.junit.Before;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
 
-import java.lang.reflect.Field;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.net.ServerSocket;
-
 /**
  * Tests for the hdfs fix from HBASE-6435.
  */
@@ -179,12 +180,24 @@ public class TestBlockReorder {
         }));
 
 
-    ServerSocket ss = new ServerSocket(port);// We're taking the port to have a timeout issue later.
+    final int retries = 10;
+    ServerSocket ss = null;
+    for (int i = 0; i < retries; i++) {
+      try {
+        ss = new ServerSocket(port);// We're taking the port to have a timeout issue later.
+        break;
+      } catch (BindException be) {
+        // This rarely happens. HBASE-9012
+        LOG.info("Got bind exception trying to set up socket on " + port +
+          "; waiting a while; retry=" + i);
+        Threads.sleep(1000);
+      }
+    }
     ServerSocket ssI = new ServerSocket(ipcPort);
 
     // Now it will fail with a timeout, unfortunately it does not always connect to the same box,
-    // so we try 10 times;  with the reorder it will never last more than a few milli seconds
-    for (int i = 0; i < 10; i++) {
+    // so we try retries times;  with the reorder it will never last more than a few milli seconds
+    for (int i = 0; i < retries; i++) {
       start = System.currentTimeMillis();
 
       fin = dfs.open(p);