HADOOP-6691. TestFileSystemCaching sometimes hangs. Contributed by Hairong Kuang.
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@932115 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
4c062c79c3
commit
fb154e3a03
@ -312,6 +312,8 @@ Trunk (unreleased changes)
|
|||||||
HADOOP-6680. hadoop-cloud push command invokes proxy creation.
|
HADOOP-6680. hadoop-cloud push command invokes proxy creation.
|
||||||
(Andrew Klochkov via tomwhite)
|
(Andrew Klochkov via tomwhite)
|
||||||
|
|
||||||
|
HADOOP-6691. TestFileSystemCaching sometimes hangs. (hairong)
|
||||||
|
|
||||||
Release 0.21.0 - Unreleased
|
Release 0.21.0 - Unreleased
|
||||||
|
|
||||||
INCOMPATIBLE CHANGES
|
INCOMPATIBLE CHANGES
|
||||||
|
@ -30,9 +30,9 @@
|
|||||||
import org.apache.hadoop.security.token.Token;
|
import org.apache.hadoop.security.token.Token;
|
||||||
import org.apache.hadoop.security.token.TokenIdentifier;
|
import org.apache.hadoop.security.token.TokenIdentifier;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import java.security.PrivilegedAction;
|
|
||||||
import java.security.PrivilegedActionException;
|
|
||||||
import java.security.PrivilegedExceptionAction;
|
import java.security.PrivilegedExceptionAction;
|
||||||
|
import java.util.concurrent.Semaphore;
|
||||||
|
|
||||||
import static org.mockito.Mockito.mock;
|
import static org.mockito.Mockito.mock;
|
||||||
|
|
||||||
|
|
||||||
@ -49,11 +49,10 @@ public void testCacheEnabled() throws Exception {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static class InitializeForeverFileSystem extends LocalFileSystem {
|
public static class InitializeForeverFileSystem extends LocalFileSystem {
|
||||||
|
final static Semaphore sem = new Semaphore(0);
|
||||||
public void initialize(URI uri, Configuration conf) throws IOException {
|
public void initialize(URI uri, Configuration conf) throws IOException {
|
||||||
// notify that InitializeForeverFileSystem started initialization
|
// notify that InitializeForeverFileSystem started initialization
|
||||||
synchronized (conf) {
|
sem.release();
|
||||||
conf.notify();
|
|
||||||
}
|
|
||||||
try {
|
try {
|
||||||
while (true) {
|
while (true) {
|
||||||
Thread.sleep(1000);
|
Thread.sleep(1000);
|
||||||
@ -82,9 +81,8 @@ public void run() {
|
|||||||
};
|
};
|
||||||
t.start();
|
t.start();
|
||||||
// wait for InitializeForeverFileSystem to start initialization
|
// wait for InitializeForeverFileSystem to start initialization
|
||||||
synchronized (conf) {
|
InitializeForeverFileSystem.sem.acquire();
|
||||||
conf.wait();
|
|
||||||
}
|
|
||||||
conf.set("fs.cachedfile.impl", conf.get("fs.file.impl"));
|
conf.set("fs.cachedfile.impl", conf.get("fs.file.impl"));
|
||||||
FileSystem.get(new URI("cachedfile://a"), conf);
|
FileSystem.get(new URI("cachedfile://a"), conf);
|
||||||
t.interrupt();
|
t.interrupt();
|
||||||
|
Loading…
Reference in New Issue
Block a user