hadoop-common-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From a..@apache.org
Subject hadoop git commit: HDFS-11630. TestThrottledAsyncCheckerTimeout fails intermittently in Jenkins builds. Contributed by Hanisha Koneru.
Date Thu, 13 Apr 2017 00:11:54 GMT
Repository: hadoop
Updated Branches:
  refs/heads/branch-2 ed8bb51f5 -> 107f685f6


HDFS-11630. TestThrottledAsyncCheckerTimeout fails intermittently in Jenkins builds. Contributed
by Hanisha Koneru.


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/107f685f
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/107f685f
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/107f685f

Branch: refs/heads/branch-2
Commit: 107f685f647645f8edfe065b694e70cf3d75030b
Parents: ed8bb51
Author: Hanisha Koneru <hanishakoneru@apache.org>
Authored: Wed Apr 12 17:11:36 2017 -0700
Committer: Arpit Agarwal <arp@apache.org>
Committed: Wed Apr 12 17:11:36 2017 -0700

----------------------------------------------------------------------
 .../TestDatasetVolumeCheckerTimeout.java        |  2 +-
 .../TestThrottledAsyncCheckerTimeout.java       | 42 ++++++++++----------
 2 files changed, 23 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hadoop/blob/107f685f/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/checker/TestDatasetVolumeCheckerTimeout.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/checker/TestDatasetVolumeCheckerTimeout.java
b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/checker/TestDatasetVolumeCheckerTimeout.java
index 3d85038..f89b845 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/checker/TestDatasetVolumeCheckerTimeout.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/checker/TestDatasetVolumeCheckerTimeout.java
@@ -92,7 +92,7 @@ public class TestDatasetVolumeCheckerTimeout {
     return volume;
   }
 
-  @Test (timeout = 1000)
+  @Test (timeout = 300000)
   public void testDiskCheckTimeout() throws Exception {
     LOG.info("Executing {}", testName.getMethodName());
     final FsVolumeSpi volume = makeSlowVolume();

http://git-wip-us.apache.org/repos/asf/hadoop/blob/107f685f/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/checker/TestThrottledAsyncCheckerTimeout.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/checker/TestThrottledAsyncCheckerTimeout.java
b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/checker/TestThrottledAsyncCheckerTimeout.java
index 23f3f47..6dd5b40 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/checker/TestThrottledAsyncCheckerTimeout.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/checker/TestThrottledAsyncCheckerTimeout.java
@@ -17,6 +17,13 @@
  */
 package org.apache.hadoop.hdfs.server.datanode.checker;
 
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.anyBoolean;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.timeout;
+import static org.mockito.Mockito.verify;
+
 import com.google.common.base.Optional;
 import com.google.common.util.concurrent.FutureCallback;
 import com.google.common.util.concurrent.Futures;
@@ -35,10 +42,7 @@ import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.TestName;
-import static org.mockito.Matchers.*;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
+import org.junit.rules.Timeout;
 import org.slf4j.LoggerFactory;
 
 import java.util.Set;
@@ -56,10 +60,10 @@ public class TestThrottledAsyncCheckerTimeout {
 
   @Rule
   public TestName testName = new TestName();
+  @Rule
+  public Timeout testTimeout = new Timeout(300_000);
 
-  Configuration conf;
   private static final long DISK_CHECK_TIMEOUT = 10;
-  private static final long DISK_CHECK_TIME = 100;
   private ReentrantLock lock;
 
   private ExecutorService getExecutorService() {
@@ -71,7 +75,7 @@ public class TestThrottledAsyncCheckerTimeout {
     lock = new ReentrantLock();
   }
 
-  @Test	(timeout = 1000)
+  @Test
   public void testDiskCheckTimeout() throws Exception {
     LOG.info("Executing {}", testName.getMethodName());
 
@@ -121,7 +125,7 @@ public class TestThrottledAsyncCheckerTimeout {
     assertTrue(throwable[0] instanceof TimeoutException);
   }
 
-  @Test (timeout = 2000)
+  @Test
   public void testDiskCheckTimeoutInvokesOneCallbackOnly() throws Exception {
     LOG.info("Executing {}", testName.getMethodName());
 
@@ -141,13 +145,12 @@ public class TestThrottledAsyncCheckerTimeout {
     assertTrue(olf1.isPresent());
     Futures.addCallback(olf1.get(), futureCallback);
 
-    // Wait for the callback
-    Thread.sleep(DISK_CHECK_TIMEOUT);
-
     // Verify that timeout results in only 1 onFailure call and 0 onSuccess
     // calls.
-    verify(futureCallback, times(1)).onFailure(any(Throwable.class));
-    verify(futureCallback, times(0)).onSuccess(anyBoolean());
+    verify(futureCallback, timeout((int) DISK_CHECK_TIMEOUT*10).times(1))
+        .onFailure(any(Throwable.class));
+    verify(futureCallback, timeout((int) DISK_CHECK_TIMEOUT*10).times(0))
+        .onSuccess(anyBoolean());
 
     // Release lock so that target can acquire it.
     lock.unlock();
@@ -158,16 +161,15 @@ public class TestThrottledAsyncCheckerTimeout {
     assertTrue(olf2.isPresent());
     Futures.addCallback(olf2.get(), futureCallback);
 
-    // Wait for the callback
-    Thread.sleep(DISK_CHECK_TIME);
-
     // Verify that normal check (dummy) results in only 1 onSuccess call.
-    // Number of times onFailure is invoked should remain the same - 1.
-    verify(futureCallback, times(1)).onFailure(any(Throwable.class));
-    verify(futureCallback, times(1)).onSuccess(anyBoolean());
+    // Number of times onFailure is invoked should remain the same i.e. 1.
+    verify(futureCallback, timeout((int) DISK_CHECK_TIMEOUT*10).times(1))
+        .onFailure(any(Throwable.class));
+    verify(futureCallback, timeout((int) DISK_CHECK_TIMEOUT*10).times(1))
+        .onSuccess(anyBoolean());
   }
 
-  @Test (timeout = 1000)
+  @Test
   public void testTimeoutExceptionIsNotThrownForGoodDisk() throws Exception {
     LOG.info("Executing {}", testName.getMethodName());
 


---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org


Mime
View raw message