Disable caching for JarURLConnection to avoid sharing JarFile with other users when loading resource from URL in Configuration class. Contributed by Zhihai Xu
This commit is contained in:
parent
288c8854a6
commit
e690a32e57
|
@ -782,6 +782,10 @@ Release 2.8.0 - UNRELEASED
|
||||||
HADOOP-12413. AccessControlList should avoid calling getGroupNames in
|
HADOOP-12413. AccessControlList should avoid calling getGroupNames in
|
||||||
isUserInList with empty groups. (Zhihai Xu via cnauroth)
|
isUserInList with empty groups. (Zhihai Xu via cnauroth)
|
||||||
|
|
||||||
|
HADOOP-12404. Disable caching for JarURLConnection to avoid sharing
|
||||||
|
JarFile with other users when loading resource from URL in Configuration
|
||||||
|
class. (zxu)
|
||||||
|
|
||||||
OPTIMIZATIONS
|
OPTIMIZATIONS
|
||||||
|
|
||||||
HADOOP-11785. Reduce the number of listStatus operation in distcp
|
HADOOP-11785. Reduce the number of listStatus operation in distcp
|
||||||
|
|
|
@ -34,7 +34,9 @@ import java.io.Reader;
|
||||||
import java.io.Writer;
|
import java.io.Writer;
|
||||||
import java.lang.ref.WeakReference;
|
import java.lang.ref.WeakReference;
|
||||||
import java.net.InetSocketAddress;
|
import java.net.InetSocketAddress;
|
||||||
|
import java.net.JarURLConnection;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
|
import java.net.URLConnection;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
@ -2531,7 +2533,14 @@ public class Configuration implements Iterable<Map.Entry<String,String>>,
|
||||||
if (url == null) {
|
if (url == null) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
return parse(builder, url.openStream(), url.toString());
|
|
||||||
|
URLConnection connection = url.openConnection();
|
||||||
|
if (connection instanceof JarURLConnection) {
|
||||||
|
// Disable caching for JarURLConnection to avoid sharing JarFile
|
||||||
|
// with other users.
|
||||||
|
connection.setUseCaches(false);
|
||||||
|
}
|
||||||
|
return parse(builder, connection.getInputStream(), url.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
private Document parse(DocumentBuilder builder, InputStream is,
|
private Document parse(DocumentBuilder builder, InputStream is,
|
||||||
|
|
Loading…
Reference in New Issue