MAPREDUCE-7302. Upgrading to JUnit 4.13 causes testcase TestFetcher.testCorruptedIFile() to fail. Contributed by Peter Bacsko. Reviewed by Akira Ajisaka.
Conflicts only in imports (cherry picked from commitda93cd962c
) Conflicts: hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/ReadaheadPool.java (cherry picked from commit7ad844ee9e
) Conflicts: hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/test/java/org/apache/hadoop/mapreduce/task/reduce/TestFetcher.java
This commit is contained in:
parent
94c1cf2ff2
commit
58b33d6570
|
@ -29,6 +29,7 @@ import org.apache.hadoop.io.nativeio.NativeIO;
|
|||
|
||||
import static org.apache.hadoop.io.nativeio.NativeIO.POSIX.POSIX_FADV_WILLNEED;
|
||||
|
||||
import com.google.common.annotations.VisibleForTesting;
|
||||
import com.google.common.base.Preconditions;
|
||||
import 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));
|
||||
|
|
|
@ -49,6 +49,7 @@ import javax.crypto.SecretKey;
|
|||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.apache.hadoop.io.ReadaheadPool;
|
||||
import org.apache.hadoop.io.Text;
|
||||
import org.apache.hadoop.mapred.Counters;
|
||||
import org.apache.hadoop.mapred.IFileInputStream;
|
||||
|
@ -93,6 +94,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();
|
||||
|
|
Loading…
Reference in New Issue