This is an automated email from the ASF dual-hosted git repository.

pbacsko pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/hadoop.git


The following commit(s) were added to refs/heads/trunk by this push:
     new da93cd9  MAPREDUCE-7302. Upgrading to JUnit 4.13 causes testcase 
TestFetcher.testCorruptedIFile() to fail. Contributed by Peter Bacsko. Reviewed 
by Akira Ajisaka.
da93cd9 is described below

commit da93cd962c8d19874d09360726628cdde8595a7d
Author: Peter Bacsko <pbac...@cloudera.com>
AuthorDate: Wed Oct 28 10:35:30 2020 +0100

    MAPREDUCE-7302. Upgrading to JUnit 4.13 causes testcase 
TestFetcher.testCorruptedIFile() to fail. Contributed by Peter Bacsko. Reviewed 
by Akira Ajisaka.
---
 .../src/main/java/org/apache/hadoop/io/ReadaheadPool.java   | 13 ++++++++++++-
 .../apache/hadoop/mapreduce/task/reduce/TestFetcher.java    |  3 +++
 2 files changed, 15 insertions(+), 1 deletion(-)

diff --git 
a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/ReadaheadPool.java
 
b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/ReadaheadPool.java
index 34ae2c6..b5acc35 100644
--- 
a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/ReadaheadPool.java
+++ 
b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/ReadaheadPool.java
@@ -29,6 +29,7 @@ import org.apache.hadoop.io.nativeio.NativeIO;
 
 import static org.apache.hadoop.io.nativeio.NativeIO.POSIX.POSIX_FADV_WILLNEED;
 
+import 
org.apache.hadoop.thirdparty.com.google.common.annotations.VisibleForTesting;
 import org.apache.hadoop.thirdparty.com.google.common.base.Preconditions;
 import 
org.apache.hadoop.thirdparty.com.google.common.util.concurrent.ThreadFactoryBuilder;
 import org.slf4j.Logger;
@@ -59,7 +60,17 @@ public class ReadaheadPool {
       return instance;
     }
   }
-  
+
+  @VisibleForTesting
+  public static void resetInstance() {
+    synchronized (ReadaheadPool.class) {
+      if (instance != null) {
+        instance.pool.shutdownNow();
+        instance = null;
+      }
+    }
+  }
+
   private ReadaheadPool() {
     pool = new ThreadPoolExecutor(POOL_SIZE, MAX_POOL_SIZE, 3L, 
TimeUnit.SECONDS,
         new ArrayBlockingQueue<Runnable>(CAPACITY));
diff --git 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/test/java/org/apache/hadoop/mapreduce/task/reduce/TestFetcher.java
 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/test/java/org/apache/hadoop/mapreduce/task/reduce/TestFetcher.java
index ed35ff6..7b420d3 100644
--- 
a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/test/java/org/apache/hadoop/mapreduce/task/reduce/TestFetcher.java
+++ 
b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/test/java/org/apache/hadoop/mapreduce/task/reduce/TestFetcher.java
@@ -46,6 +46,7 @@ import java.util.ArrayList;
 
 import javax.crypto.SecretKey;
 
+import org.apache.hadoop.io.ReadaheadPool;
 import org.apache.hadoop.io.Text;
 import org.apache.hadoop.mapred.Counters;
 import org.apache.hadoop.mapred.IFileInputStream;
@@ -92,6 +93,8 @@ public class TestFetcher {
   @SuppressWarnings("unchecked") // mocked generics
   public void setup() {
     LOG.info(">>>> " + name.getMethodName());
+    // to avoid threading issues with JUnit 4.13+
+    ReadaheadPool.resetInstance();
     job = new JobConf();
     job.setBoolean(MRJobConfig.SHUFFLE_FETCH_RETRY_ENABLED, false);
     jobWithRetry = new JobConf();


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

Reply via email to