From 94ece1e2cb95c129e51821822a6a16a8c0b77167 Mon Sep 17 00:00:00 2001 From: Nick Dimiduk Date: Fri, 31 Oct 2014 15:09:18 -0700 Subject: [PATCH] HBASE-12401 Add some timestamp signposts in IntegrationTestMTTR --- .../hadoop/hbase/mttr/IntegrationTestMTTR.java | 49 ++++++++++++---------- .../java/org/apache/hadoop/hbase/HBaseCluster.java | 5 ++- 2 files changed, 31 insertions(+), 23 deletions(-) diff --git a/hbase-it/src/test/java/org/apache/hadoop/hbase/mttr/IntegrationTestMTTR.java b/hbase-it/src/test/java/org/apache/hadoop/hbase/mttr/IntegrationTestMTTR.java index f695db9..1484873 100644 --- a/hbase-it/src/test/java/org/apache/hadoop/hbase/mttr/IntegrationTestMTTR.java +++ b/hbase-it/src/test/java/org/apache/hadoop/hbase/mttr/IntegrationTestMTTR.java @@ -278,6 +278,7 @@ public class IntegrationTestMTTR { public void run(Callable monkeyCallable, String testName) throws Exception { int maxIters = util.getHBaseClusterInterface().isDistributedCluster() ? 10 : 3; + LOG.info("Starting " + testName + " with " + maxIters + " iterations."); // Array to keep track of times. ArrayList resultPuts = new ArrayList(maxIters); @@ -285,33 +286,39 @@ public class IntegrationTestMTTR { ArrayList resultAdmin = new ArrayList(maxIters); long start = System.nanoTime(); - // We're going to try this multiple times - for (int fullIterations = 0; fullIterations < maxIters; fullIterations++) { - // Create and start executing a callable that will kill the servers - Future monkeyFuture = executorService.submit(monkeyCallable); + try { + // We're going to try this multiple times + for (int fullIterations = 0; fullIterations < maxIters; fullIterations++) { + // Create and start executing a callable that will kill the servers + Future monkeyFuture = executorService.submit(monkeyCallable); - // Pass that future to the timing Callables. - Future putFuture = executorService.submit(new PutCallable(monkeyFuture)); - Future scanFuture = executorService.submit(new ScanCallable(monkeyFuture)); - Future adminFuture = executorService.submit(new AdminCallable(monkeyFuture)); + // Pass that future to the timing Callables. + Future putFuture = executorService.submit(new PutCallable(monkeyFuture)); + Future scanFuture = executorService.submit(new ScanCallable(monkeyFuture)); + Future adminFuture = executorService.submit(new AdminCallable(monkeyFuture)); - Future loadFuture = executorService.submit(new LoadCallable(monkeyFuture)); + Future loadFuture = executorService.submit(new LoadCallable(monkeyFuture)); - monkeyFuture.get(); - loadFuture.get(); + monkeyFuture.get(); + loadFuture.get(); - // Get the values from the futures. - TimingResult putTime = putFuture.get(); - TimingResult scanTime = scanFuture.get(); - TimingResult adminTime = adminFuture.get(); + // Get the values from the futures. + TimingResult putTime = putFuture.get(); + TimingResult scanTime = scanFuture.get(); + TimingResult adminTime = adminFuture.get(); - // Store the times to display later. - resultPuts.add(putTime); - resultScan.add(scanTime); - resultAdmin.add(adminTime); + // Store the times to display later. + resultPuts.add(putTime); + resultScan.add(scanTime); + resultAdmin.add(adminTime); - // Wait some time for everything to settle down. - Thread.sleep(5000l); + // Wait some time for everything to settle down. + Thread.sleep(5000l); + } + } catch (Exception e) { + long runtimeMs = TimeUnit.MILLISECONDS.convert(System.nanoTime() - start, TimeUnit.NANOSECONDS); + LOG.info(testName + " failed after " + runtimeMs + "ms.", e); + throw e; } long runtimeMs = TimeUnit.MILLISECONDS.convert(System.nanoTime() - start, TimeUnit.NANOSECONDS); diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseCluster.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseCluster.java index 5865520..76a9566 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseCluster.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseCluster.java @@ -95,7 +95,7 @@ public abstract class HBaseCluster implements Closeable, Configurable { } /** - * Returns an {@link MasterAdminService.BlockingInterface} to the active master + * Returns an {@link MasterService.BlockingInterface} to the active master */ public abstract MasterService.BlockingInterface getMasterAdminService() throws IOException; @@ -150,7 +150,8 @@ public abstract class HBaseCluster implements Closeable, Configurable { } Threads.sleep(100); } - throw new IOException("did timeout waiting for region server to start:" + hostname); + throw new IOException("did timeout " + timeout + "ms waiting for region server to start: " + + hostname); } /** -- 1.9.3 (Apple Git-50)