diff --git a/hbase-server/pom.xml b/hbase-server/pom.xml
index 39cb66f03ac..b7c0ee1f600 100644
--- a/hbase-server/pom.xml
+++ b/hbase-server/pom.xml
@@ -459,34 +459,6 @@
stax
stax-api
-
- org.hbase
- asynchbase
- [1.3.1,)
-
-
-
- org.slf4j
- slf4j-api
-
-
-
- org.slf4j
- jcl-over-slf4j
-
-
- org.slf4j
- log4j-over-slf4j
-
-
- test
-
org.codehaus.jettison
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java
index 701b30c7338..8b8bac30f30 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/PerformanceEvaluation.java
@@ -87,13 +87,6 @@ import org.apache.hadoop.util.Tool;
import org.apache.hadoop.util.ToolRunner;
import org.apache.hadoop.util.LineReader;
-import com.stumbleupon.async.Callback;
-import com.stumbleupon.async.Deferred;
-import org.hbase.async.GetRequest;
-import org.hbase.async.HBaseClient;
-import org.hbase.async.PleaseThrottleException;
-import org.hbase.async.PutRequest;
-import org.hbase.async.Scanner;
/**
* Script used evaluating HBase performance and scalability. Runs a HBase
@@ -172,8 +165,6 @@ public class PerformanceEvaluation extends Configured implements Tool {
addCommandDescriptor(RandomReadTest.class, "randomRead",
"Run random read test");
- addCommandDescriptor(AsyncRandomReadTest.class, "asyncRandomRead",
- "Run random read test with asynchbase");
addCommandDescriptor(RandomSeekScanTest.class, "randomSeekScan",
"Run random seek and scan 100 test");
addCommandDescriptor(RandomScanWithRange10Test.class, "scanRange10",
@@ -186,20 +177,12 @@ public class PerformanceEvaluation extends Configured implements Tool {
"Run random seek scan with both start and stop row (max 10000 rows)");
addCommandDescriptor(RandomWriteTest.class, "randomWrite",
"Run random write test");
- addCommandDescriptor(AsyncRandomWriteTest.class, "asyncRandomWrite",
- "Run random write test with asynchbase");
addCommandDescriptor(SequentialReadTest.class, "sequentialRead",
"Run sequential read test");
- addCommandDescriptor(AsyncSequentialReadTest.class, "asyncSequentialRead",
- "Run sequential read test with asynchbase");
addCommandDescriptor(SequentialWriteTest.class, "sequentialWrite",
"Run sequential write test");
- addCommandDescriptor(AsyncSequentialWriteTest.class, "asyncSequentialWrite",
- "Run sequential write test with asynchbase");
addCommandDescriptor(ScanTest.class, "scan",
"Run scan test (read every row)");
- addCommandDescriptor(AsyncScanTest.class, "asyncScan",
- "Run scan test with asynchbase (read every row)");
addCommandDescriptor(FilteredScanTest.class, "filterScan",
"Run scan test using a filter to find a specific row based on it's value (make sure to use --rows=20)");
}
@@ -908,177 +891,6 @@ public class PerformanceEvaluation extends Configured implements Tool {
abstract void testRow(final int i) throws IOException;
}
- static abstract class AsyncTest extends Test {
- /** Maximum number of RPCs we're allowed in flight at a time. */
- private static final int MAX_OUTSTANDING_RPCS = 200000; // Sized for 2G heap.
-
- private static HBaseClient client; // Only one client regardless of number of threads.
-
- AsyncTest(final Configuration conf, final TestOptions options, final Status status) {
- super(null, options, status);
- final String zkquorum = conf.get(HConstants.ZOOKEEPER_QUORUM);
- final String znode = conf.get(HConstants.ZOOKEEPER_ZNODE_PARENT,
- HConstants.DEFAULT_ZOOKEEPER_ZNODE_PARENT);
- synchronized (AsyncTest.class) {
- if (client == null) {
- client = new HBaseClient(zkquorum, znode);
- // Sanity check.
- try {
- client.ensureTableFamilyExists(tableName, FAMILY_NAME).joinUninterruptibly();
- } catch (Exception e) {
- throw new RuntimeException("Missing test table/family?", e);
- }
- }
- }
- latch = new CountDownLatch(super.perClientRunRows);
- final int maxrpcs = MAX_OUTSTANDING_RPCS / options.getNumClientThreads();
- sem = new Semaphore(Math.max(100, maxrpcs));
- }
-
- /**
- * If true, make sure that every read returns a valid-looking KeyValue.
- */
- private static final boolean CHECK_READS = false;
-
- /** Checks that the row retrieved from HBase looks valid. */
- protected static void check(final ArrayList row) throws IOException {
- if (!CHECK_READS) {
- return;
- }
- if (row.size() != 1) {
- throw new IOException((row.isEmpty() ? "No" : "Multiple (" + row.size() + ')')
- + " KeyValue found in row");
- } else if (row.get(0).value().length != VALUE_LENGTH) {
- throw new IOException("Invalid value length (found: " + row.get(0).value().length
- + ", expected: " + VALUE_LENGTH + ") in row \""
- + new String(row.get(0).key()) + '"');
- }
- }
-
- private Exception error = null; // Last exception caught asynchronously.
- private volatile boolean failed = false; // True if we caught an exception asynchronously.
- /** Used by sub-classes to handle asynchronous exceptions. */
- protected final Callback errback = new Callback() {
- public Exception call(final Exception e) throws Exception {
- rpcCompleted();
- if (e instanceof PleaseThrottleException) {
- LOG.warn("Throttling thread " + Thread.currentThread().getName()
- + ", HBase isn't keeping up", e);
- final int permits = sem.drainPermits(); // Prevent creation of further RPCs.
- ((PleaseThrottleException) e).getDeferred().addBoth(new Callback