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 2010/10/08 21:45:11 UTC

svn commit: r1005990 - in /hbase/trunk/src: main/java/org/apache/hadoop/hbase/catalog/ main/java/org/apache/hadoop/hbase/master/ main/java/org/apache/hadoop/hbase/regionserver/ test/java/org/apache/hadoop/hbase/ test/java/org/apache/hadoop/hbase/client...

Author: stack
Date: Fri Oct  8 19:45:11 2010
New Revision: 1005990

URL: http://svn.apache.org/viewvc?rev=1005990&view=rev
Log:
HBASE-3094  Fixes for miscellaneous broken tests


M src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java
  Added passing a Configuration to createTable.
M src/test/java/org/apache/hadoop/hbase/HBaseClusterTestCase.java
  Make a new configuration each time we create a cluster else this
  old testing utility fails when we do restart in middle of a test
  suite using this old stuff.
M src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java
  Fixed imports.
M src/test/java/org/apache/hadoop/hbase/MiniHBaseCluster.java
  Added catch for other than IOE... shutdown if anything thrown.
M src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java
  This test was for sure horked.  Fixed it so we were testing
  the javadoc description of how its supposed to work.
M src/test/java/org/apache/hadoop/hbase/master/TestDeadServer.java
  Another test that just wasn't working -- couldn't have worked on
  commit.
M src/test/java/org/apache/hadoop/hbase/master/TestLoadBalancer.java
  Must have resolvable host (How did this test ever work)?
M src/test/java/org/apache/hadoop/hbase/client/TestGetRowVersions.java
   Fixup to make this test pass.  New Configuration after cluster restart.
M src/test/java/org/apache/hadoop/hbase/client/TestScannerTimeout.java
  Fixup to make this test pass.  The low scanner timeout was stopping
  this test from even starting up.
M src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
  Use new method from HTU.
M src/main/java/org/apache/hadoop/hbase/regionserver/SplitTransaction.java
  If passed server is null, we are in test mode.
M src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java
  Catch other dropped connection exception types when trying to prove
  we have a good root/meta address.

Modified:
    hbase/trunk/src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java
    hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java
    hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/SplitTransaction.java
    hbase/trunk/src/test/java/org/apache/hadoop/hbase/HBaseClusterTestCase.java
    hbase/trunk/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java
    hbase/trunk/src/test/java/org/apache/hadoop/hbase/MiniHBaseCluster.java
    hbase/trunk/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
    hbase/trunk/src/test/java/org/apache/hadoop/hbase/client/TestGetRowVersions.java
    hbase/trunk/src/test/java/org/apache/hadoop/hbase/client/TestScannerTimeout.java
    hbase/trunk/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java
    hbase/trunk/src/test/java/org/apache/hadoop/hbase/master/TestDeadServer.java
    hbase/trunk/src/test/java/org/apache/hadoop/hbase/master/TestLoadBalancer.java
    hbase/trunk/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java

Modified: hbase/trunk/src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java?rev=1005990&r1=1005989&r2=1005990&view=diff
==============================================================================
--- hbase/trunk/src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java (original)
+++ hbase/trunk/src/main/java/org/apache/hadoop/hbase/catalog/CatalogTracker.java Fri Oct  8 19:45:11 2010
@@ -19,6 +19,7 @@
  */
 package org.apache.hadoop.hbase.catalog;
 
+import java.io.EOFException;
 import java.io.IOException;
 import java.net.ConnectException;
 import java.util.concurrent.atomic.AtomicBoolean;
@@ -355,6 +356,17 @@ public class CatalogTracker {
       } else {
         throw e;
       }
+    } catch (IOException ioe) {
+      Throwable cause = ioe.getCause();
+      if (cause != null && cause instanceof EOFException) {
+        // Catch. Other end disconnected us.
+      } else if (cause != null && cause.getMessage() != null &&
+        cause.getMessage().toLowerCase().contains("connection reset")) {
+        // Catch. Connection reset.
+      } else {
+        throw ioe;
+      }
+      
     }
     return protocol;
   }

Modified: hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java?rev=1005990&r1=1005989&r2=1005990&view=diff
==============================================================================
--- hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java (original)
+++ hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/CatalogJanitor.java Fri Oct  8 19:45:11 2010
@@ -120,6 +120,7 @@ class CatalogJanitor extends Chore {
    * @return Null if not found (and logs fact that expected COL_REGIONINFO
    * was missing) else deserialized {@link HRegionInfo}
    * @throws IOException
+   * @throws NullPointerException if null cell
    */
   static HRegionInfo getHRegionInfo(final Result result)
   throws IOException {

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=1005990&r1=1005989&r2=1005990&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 Fri Oct  8 19:45:11 2010
@@ -184,7 +184,7 @@ class SplitTransaction {
     assert !this.parent.lock.writeLock().isHeldByCurrentThread() : "Unsafe to hold write lock while performing RPCs";
 
     // If true, no cluster to write meta edits into.
-    boolean testing =
+    boolean testing = server == null? true:
       server.getConfiguration().getBoolean("hbase.testing.nocluster", false);
 
     createSplitDir(this.parent.getFilesystem(), this.splitdir);

Modified: hbase/trunk/src/test/java/org/apache/hadoop/hbase/HBaseClusterTestCase.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/test/java/org/apache/hadoop/hbase/HBaseClusterTestCase.java?rev=1005990&r1=1005989&r2=1005990&view=diff
==============================================================================
--- hbase/trunk/src/test/java/org/apache/hadoop/hbase/HBaseClusterTestCase.java (original)
+++ hbase/trunk/src/test/java/org/apache/hadoop/hbase/HBaseClusterTestCase.java Fri Oct  8 19:45:11 2010
@@ -25,6 +25,7 @@ import java.io.PrintWriter;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hbase.client.HConnectionManager;
@@ -102,13 +103,13 @@ public abstract class HBaseClusterTestCa
     this.zooKeeperCluster = new MiniZooKeeperCluster();
     int clientPort = this.zooKeeperCluster.startup(testDir);
     conf.set("hbase.zookeeper.property.clientPort", Integer.toString(clientPort));
-
+    Configuration c = new Configuration(this.conf);
     // start the mini cluster
-    this.cluster = new MiniHBaseCluster(conf, regionServers);
+    this.cluster = new MiniHBaseCluster(c, regionServers);
 
     if (openMetaTable) {
       // opening the META table ensures that cluster is running
-      new HTable(conf, HConstants.META_TABLE_NAME);
+      new HTable(c, HConstants.META_TABLE_NAME);
     }
   }
 

Modified: hbase/trunk/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java?rev=1005990&r1=1005989&r2=1005990&view=diff
==============================================================================
--- hbase/trunk/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java (original)
+++ hbase/trunk/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java Fri Oct  8 19:45:11 2010
@@ -451,12 +451,27 @@ public class HBaseTestingUtility {
    */
   public HTable createTable(byte[] tableName, byte[][] families)
   throws IOException {
+    return createTable(tableName, families,
+        new Configuration(getConfiguration()));
+  }
+
+  /**
+   * Create a table.
+   * @param tableName
+   * @param families
+   * @param c Configuration to use
+   * @return An HTable instance for the created table.
+   * @throws IOException
+   */
+  public HTable createTable(byte[] tableName, byte[][] families,
+      final Configuration c)
+  throws IOException {
     HTableDescriptor desc = new HTableDescriptor(tableName);
     for(byte[] family : families) {
       desc.addFamily(new HColumnDescriptor(family));
     }
     getHBaseAdmin().createTable(desc);
-    return new HTable(new Configuration(getConfiguration()), tableName);
+    return new HTable(c, tableName);
   }
 
   /**

Modified: hbase/trunk/src/test/java/org/apache/hadoop/hbase/MiniHBaseCluster.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/test/java/org/apache/hadoop/hbase/MiniHBaseCluster.java?rev=1005990&r1=1005989&r2=1005990&view=diff
==============================================================================
--- hbase/trunk/src/test/java/org/apache/hadoop/hbase/MiniHBaseCluster.java (original)
+++ hbase/trunk/src/test/java/org/apache/hadoop/hbase/MiniHBaseCluster.java Fri Oct  8 19:45:11 2010
@@ -253,9 +253,12 @@ public class MiniHBaseCluster {
           MiniHBaseCluster.MiniHBaseClusterMaster.class,
           MiniHBaseCluster.MiniHBaseClusterRegionServer.class);
       hbaseCluster.startup();
-    } catch(IOException e) {
+    } catch (IOException e) {
       shutdown();
       throw e;
+    } catch (Throwable t) {
+      shutdown();
+      throw new IOException("Shutting down", t);
     }
   }
 

Modified: hbase/trunk/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java?rev=1005990&r1=1005989&r2=1005990&view=diff
==============================================================================
--- hbase/trunk/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java (original)
+++ hbase/trunk/src/test/java/org/apache/hadoop/hbase/client/TestFromClientSide.java Fri Oct  8 19:45:11 2010
@@ -122,7 +122,7 @@ public class TestFromClientSide {
     byte[] TABLE = Bytes.toBytes("testGetConfiguration");
     byte[][] FAMILIES = new byte[][] { Bytes.toBytes("foo") };
     Configuration conf = TEST_UTIL.getConfiguration();
-    HTable table = TEST_UTIL.createTable(TABLE, FAMILIES);
+    HTable table = TEST_UTIL.createTable(TABLE, FAMILIES, conf);
     assertSame(conf, table.getConfiguration());
   }
 

Modified: hbase/trunk/src/test/java/org/apache/hadoop/hbase/client/TestGetRowVersions.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/test/java/org/apache/hadoop/hbase/client/TestGetRowVersions.java?rev=1005990&r1=1005989&r2=1005990&view=diff
==============================================================================
--- hbase/trunk/src/test/java/org/apache/hadoop/hbase/client/TestGetRowVersions.java (original)
+++ hbase/trunk/src/test/java/org/apache/hadoop/hbase/client/TestGetRowVersions.java Fri Oct  8 19:45:11 2010
@@ -24,6 +24,7 @@ import java.util.NavigableMap;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hbase.HBaseClusterTestCase;
 import org.apache.hadoop.hbase.HColumnDescriptor;
 import org.apache.hadoop.hbase.HTableDescriptor;
@@ -43,35 +44,34 @@ public class TestGetRowVersions extends 
   private static final byte [] VALUE2 = Bytes.toBytes("value2");
   private static final long TIMESTAMP1 = 100L;
   private static final long TIMESTAMP2 = 200L;
-  private HBaseAdmin admin = null;
-  private HTable table = null;
 
   @Override
   public void setUp() throws Exception {
     super.setUp();
     HTableDescriptor desc = new HTableDescriptor(TABLE_NAME);
     desc.addFamily(new HColumnDescriptor(CONTENTS));
-    this.admin = new HBaseAdmin(conf);
-    this.admin.createTable(desc);
-    this.table = new HTable(conf, TABLE_NAME);
+    HBaseAdmin admin = new HBaseAdmin(conf);
+    admin.createTable(desc);
   }
 
   /** @throws Exception */
   public void testGetRowMultipleVersions() throws Exception {
     Put put = new Put(ROW, TIMESTAMP1, null);
     put.add(CONTENTS, CONTENTS, VALUE1);
-    this.table.put(put);
+    HTable table = new HTable(new Configuration(conf), TABLE_NAME);
+    table.put(put);
     // Shut down and restart the HBase cluster
     this.cluster.shutdown();
     this.zooKeeperCluster.shutdown();
     LOG.debug("HBase cluster shut down -- restarting");
     this.hBaseClusterSetup();
-    // Make a new connection
-    this.table = new HTable(conf, TABLE_NAME);
+    // Make a new connection.  Use new Configuration instance because old one
+    // is tied to an HConnection that has since gone statle.
+    table = new HTable(new Configuration(conf), TABLE_NAME);
     // Overwrite previous value
     put = new Put(ROW, TIMESTAMP2, null);
     put.add(CONTENTS, CONTENTS, VALUE2);
-    this.table.put(put);
+    table.put(put);
     // Now verify that getRow(row, column, latest) works
     Get get = new Get(ROW);
     // Should get one version by default

Modified: hbase/trunk/src/test/java/org/apache/hadoop/hbase/client/TestScannerTimeout.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/test/java/org/apache/hadoop/hbase/client/TestScannerTimeout.java?rev=1005990&r1=1005989&r2=1005990&view=diff
==============================================================================
--- hbase/trunk/src/test/java/org/apache/hadoop/hbase/client/TestScannerTimeout.java (original)
+++ hbase/trunk/src/test/java/org/apache/hadoop/hbase/client/TestScannerTimeout.java Fri Oct  8 19:45:11 2010
@@ -19,6 +19,9 @@
  */
 package org.apache.hadoop.hbase.client;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
+
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.conf.Configuration;
@@ -26,15 +29,11 @@ import org.apache.hadoop.hbase.HBaseTest
 import org.apache.hadoop.hbase.HConstants;
 import org.apache.hadoop.hbase.regionserver.HRegionServer;
 import org.apache.hadoop.hbase.util.Bytes;
-import org.junit.After;
 import org.junit.AfterClass;
 import org.junit.Before;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.fail;
-
 /**
  * Test various scanner timeout issues.
  */
@@ -47,8 +46,7 @@ public class TestScannerTimeout {
   private final static byte[] SOME_BYTES = Bytes.toBytes("f");
   private final static byte[] TABLE_NAME = Bytes.toBytes("t");
   private final static int NB_ROWS = 10;
-  private final static int SCANNER_TIMEOUT = 1000;
-  private static HTable table;
+  private final static int SCANNER_TIMEOUT = 10000;
 
    /**
    * @throws java.lang.Exception
@@ -58,7 +56,7 @@ public class TestScannerTimeout {
     Configuration c = TEST_UTIL.getConfiguration();
     c.setInt("hbase.regionserver.lease.period", SCANNER_TIMEOUT);
     TEST_UTIL.startMiniCluster(2);
-    table = TEST_UTIL.createTable(Bytes.toBytes("t"), SOME_BYTES);
+    HTable table = TEST_UTIL.createTable(TABLE_NAME, SOME_BYTES);
      for (int i = 0; i < NB_ROWS; i++) {
       Put put = new Put(Bytes.toBytes(i));
       put.add(SOME_BYTES, SOME_BYTES, SOME_BYTES);
@@ -89,6 +87,8 @@ public class TestScannerTimeout {
   @Test
   public void test2481() throws Exception {
     Scan scan = new Scan();
+    HTable table =
+      new HTable(new Configuration(TEST_UTIL.getConfiguration()), TABLE_NAME);
     ResultScanner r = table.getScanner(scan);
     int count = 0;
     try {
@@ -131,6 +131,5 @@ public class TestScannerTimeout {
     Result[] results = r.next(NB_ROWS);
     assertEquals(NB_ROWS, results.length);
     r.close();
-
   }
-}
+}
\ No newline at end of file

Modified: hbase/trunk/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java?rev=1005990&r1=1005989&r2=1005990&view=diff
==============================================================================
--- hbase/trunk/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java (original)
+++ hbase/trunk/src/test/java/org/apache/hadoop/hbase/master/TestCatalogJanitor.java Fri Oct  8 19:45:11 2010
@@ -168,19 +168,14 @@ public class TestCatalogJanitor {
     // Make a key that does not have a regioninfo value.
     kvs.add(new KeyValue(HConstants.EMPTY_BYTE_ARRAY, f,
       HConstants.REGIONINFO_QUALIFIER, f));
-    boolean exception = false;
-    try {
-      CatalogJanitor.getHRegionInfo(new Result(kvs));
-    } catch (Exception ioe) {
-      exception = true;
-    }
-    assertTrue(exception);
+    HRegionInfo hri = CatalogJanitor.getHRegionInfo(new Result(kvs));
+    assertTrue(hri == null);
     // OK, give it what it expects
     kvs.clear();
     kvs.add(new KeyValue(HConstants.EMPTY_BYTE_ARRAY, f,
       HConstants.REGIONINFO_QUALIFIER,
       Writables.getBytes(HRegionInfo.FIRST_META_REGIONINFO)));
-    HRegionInfo hri = CatalogJanitor.getHRegionInfo(new Result(kvs));
+    hri = CatalogJanitor.getHRegionInfo(new Result(kvs));
     assertNotNull(hri);
     assertTrue(hri.equals(HRegionInfo.FIRST_META_REGIONINFO));
   }

Modified: hbase/trunk/src/test/java/org/apache/hadoop/hbase/master/TestDeadServer.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/test/java/org/apache/hadoop/hbase/master/TestDeadServer.java?rev=1005990&r1=1005989&r2=1005990&view=diff
==============================================================================
--- hbase/trunk/src/test/java/org/apache/hadoop/hbase/master/TestDeadServer.java (original)
+++ hbase/trunk/src/test/java/org/apache/hadoop/hbase/master/TestDeadServer.java Fri Oct  8 19:45:11 2010
@@ -17,25 +17,22 @@
  */
 package org.apache.hadoop.hbase.master;
 
-import static org.junit.Assert.*;
-
-import java.util.HashSet;
-import java.util.Set;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 
 import org.junit.Test;
 
 
 public class TestDeadServer {
   @Test public void testIsDead() {
-    Set<String> deadServers = new HashSet<String>();
     DeadServer ds = new DeadServer();
-    final String hostname123 = "one,123,3";
+    final String hostname123 = "127.0.0.1,123,3";
     assertFalse(ds.isDeadServer(hostname123, false));
     assertFalse(ds.isDeadServer(hostname123, true));
-    deadServers.add(hostname123);
+    ds.add(hostname123);
     assertTrue(ds.isDeadServer(hostname123, false));
-    assertFalse(ds.isDeadServer("one:1", true));
-    assertFalse(ds.isDeadServer("one:1234", true));
-    assertTrue(ds.isDeadServer("one:123", true));
+    assertFalse(ds.isDeadServer("127.0.0.1:1", true));
+    assertFalse(ds.isDeadServer("127.0.0.1:1234", true));
+    assertTrue(ds.isDeadServer("127.0.0.1:123", true));
   }
 }
\ No newline at end of file

Modified: hbase/trunk/src/test/java/org/apache/hadoop/hbase/master/TestLoadBalancer.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/test/java/org/apache/hadoop/hbase/master/TestLoadBalancer.java?rev=1005990&r1=1005989&r2=1005990&view=diff
==============================================================================
--- hbase/trunk/src/test/java/org/apache/hadoop/hbase/master/TestLoadBalancer.java (original)
+++ hbase/trunk/src/test/java/org/apache/hadoop/hbase/master/TestLoadBalancer.java Fri Oct  8 19:45:11 2010
@@ -352,7 +352,7 @@ public class TestLoadBalancer {
       server.getLoad().setNumberOfRegions(numRegions);
       return server;
     }
-    String host = RandomStringUtils.random(16);
+    String host = "127.0.0.1";
     int port = rand.nextInt(60000);
     long startCode = rand.nextLong();
     HServerInfo hsi =

Modified: hbase/trunk/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java?rev=1005990&r1=1005989&r2=1005990&view=diff
==============================================================================
--- hbase/trunk/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java (original)
+++ hbase/trunk/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java Fri Oct  8 19:45:11 2010
@@ -19,6 +19,17 @@
  */
 package org.apache.hadoop.hbase.regionserver;
 
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.atomic.AtomicInteger;
+import java.util.concurrent.atomic.AtomicReference;
+
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.conf.Configuration;
@@ -51,27 +62,14 @@ import org.apache.hadoop.hbase.regionser
 import org.apache.hadoop.hbase.regionserver.wal.HLog;
 import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.hadoop.hbase.util.EnvironmentEdgeManagerTestHelper;
-import org.apache.hadoop.hbase.util.FSUtils;
 import org.apache.hadoop.hbase.util.IncrementingEnvironmentEdge;
 import org.apache.hadoop.hbase.util.ManualEnvironmentEdge;
 import org.apache.hadoop.hbase.util.Pair;
 import org.apache.hadoop.hbase.util.PairOfSameType;
 import org.apache.hadoop.hbase.util.Threads;
 
-import com.google.common.base.Joiner;
 import com.google.common.collect.Lists;
 
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.TreeMap;
-import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.concurrent.atomic.AtomicInteger;
-import java.util.concurrent.atomic.AtomicReference;
-
 
 /**
  * Basic stand-alone testing of HRegion.