Disable caching for JarURLConnection to avoid sharing JarFile with other users when loading resource from URL in Configuration class. Contributed by Zhihai Xu
(cherry picked from commit e690a32e57
)
This commit is contained in:
parent
6641ab83eb
commit
7576b4247b
|
@ -270,6 +270,10 @@ Release 2.8.0 - UNRELEASED
|
|||
HADOOP-12413. AccessControlList should avoid calling getGroupNames in
|
||||
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
|
||||
|
||||
HADOOP-11785. Reduce the number of listStatus operation in distcp
|
||||
|
|
|
@ -34,7 +34,9 @@ import java.io.Reader;
|
|||
import java.io.Writer;
|
||||
import java.lang.ref.WeakReference;
|
||||
import java.net.InetSocketAddress;
|
||||
import java.net.JarURLConnection;
|
||||
import java.net.URL;
|
||||
import java.net.URLConnection;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
|
@ -2467,7 +2469,14 @@ public class Configuration implements Iterable<Map.Entry<String,String>>,
|
|||
if (url == 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,
|
||||
|
|
Loading…
Reference in New Issue