Index: hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestHLog.java =================================================================== --- hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestHLog.java (revision 1481058) +++ hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestHLog.java (working copy) @@ -22,9 +22,10 @@ import java.io.IOException; import java.lang.reflect.Method; -import java.util.TreeMap; +import java.net.BindException; import java.util.List; import java.util.Map; +import java.util.TreeMap; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -35,13 +36,20 @@ import org.apache.hadoop.fs.FileStatus; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; -import org.apache.hadoop.hbase.*; +import org.apache.hadoop.hbase.Coprocessor; +import org.apache.hadoop.hbase.HBaseTestingUtility; +import org.apache.hadoop.hbase.HColumnDescriptor; +import org.apache.hadoop.hbase.HConstants; +import org.apache.hadoop.hbase.HRegionInfo; +import org.apache.hadoop.hbase.HTableDescriptor; +import org.apache.hadoop.hbase.KeyValue; +import org.apache.hadoop.hbase.LargeTests; +import org.apache.hadoop.hbase.ServerName; +import org.apache.hadoop.hbase.coprocessor.CoprocessorHost; +import org.apache.hadoop.hbase.coprocessor.SampleRegionWALObserver; import org.apache.hadoop.hbase.regionserver.wal.HLog.Reader; import org.apache.hadoop.hbase.util.Bytes; import org.apache.hadoop.hbase.util.FSUtils; -import org.apache.hadoop.hbase.Coprocessor; -import org.apache.hadoop.hbase.coprocessor.CoprocessorHost; -import org.apache.hadoop.hbase.coprocessor.SampleRegionWALObserver; import org.apache.hadoop.hdfs.DFSClient; import org.apache.hadoop.hdfs.DistributedFileSystem; import org.apache.hadoop.hdfs.MiniDFSCluster; @@ -431,8 +439,21 @@ Thread.sleep(2000); LOG.info("Waiting a few seconds before re-starting HDFS"); - Thread.sleep(5000); - cluster = TEST_UTIL.startMiniDFSClusterForTestHLog(namenodePort); + Exception ex = null; + for (int i = 0; i < 30; i++) { + Thread.sleep(500); + try { + cluster = TEST_UTIL.startMiniDFSClusterForTestHLog(namenodePort); + ex = null; + break; + } catch (BindException be) { + ex = be; + LOG.debug("address in use, retry", be); + } + } + if (ex != null) { + throw new Exception("MiniDFSCluster didn't start: ", ex); + } cluster.waitActive(); fs = cluster.getFileSystem(); LOG.info("STARTED second instance.");