HADOOP-11659. o.a.h.FileSystem.Cache#remove should use a single hash map lookup. Contributed by Brahma Reddy Battula.
(cherry picked from commit 34117325b2
)
This commit is contained in:
parent
7d0f84bd8d
commit
18740f9383
|
@ -17,6 +17,9 @@ Release 2.8.0 - UNRELEASED
|
||||||
HADOOP-11692. Improve authentication failure WARN message to avoid user
|
HADOOP-11692. Improve authentication failure WARN message to avoid user
|
||||||
confusion. (Yongjun Zhang)
|
confusion. (Yongjun Zhang)
|
||||||
|
|
||||||
|
HADOOP-11659. o.a.h.fs.FileSystem.Cache#remove should use a single hash map
|
||||||
|
lookup. (Brahma Reddy Battula via aajisaka)
|
||||||
|
|
||||||
OPTIMIZATIONS
|
OPTIMIZATIONS
|
||||||
|
|
||||||
BUG FIXES
|
BUG FIXES
|
||||||
|
|
|
@ -2701,10 +2701,12 @@ public abstract class FileSystem extends Configured implements Closeable {
|
||||||
}
|
}
|
||||||
|
|
||||||
synchronized void remove(Key key, FileSystem fs) {
|
synchronized void remove(Key key, FileSystem fs) {
|
||||||
if (map.containsKey(key) && fs == map.get(key)) {
|
FileSystem cachedFs = map.remove(key);
|
||||||
map.remove(key);
|
if (fs == cachedFs) {
|
||||||
toAutoClose.remove(key);
|
toAutoClose.remove(key);
|
||||||
}
|
} else if (cachedFs != null) {
|
||||||
|
map.put(key, cachedFs);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
synchronized void closeAll() throws IOException {
|
synchronized void closeAll() throws IOException {
|
||||||
|
@ -2731,7 +2733,8 @@ public abstract class FileSystem extends Configured implements Closeable {
|
||||||
}
|
}
|
||||||
|
|
||||||
//remove from cache
|
//remove from cache
|
||||||
remove(key, fs);
|
map.remove(key);
|
||||||
|
toAutoClose.remove(key);
|
||||||
|
|
||||||
if (fs != null) {
|
if (fs != null) {
|
||||||
try {
|
try {
|
||||||
|
|
Loading…
Reference in New Issue