[
https://issues.apache.org/jira/browse/HADOOP-11771?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Gopal V updated HADOOP-11771:
-----------------------------
Description:
{code}
IPC Client (1970436060) connection to
cn106-10.l42scl.hortonworks.com/172.21.128.106:34530 from
application_1442254312093_2976 [BLOCKED] [DAEMON]
org.apache.hadoop.conf.Configuration.getClassByNameOrNull(String)
Configuration.java:2117
org.apache.hadoop.conf.Configuration.getClassByName(String)
Configuration.java:2099
org.apache.hadoop.io.ObjectWritable.loadClass(Configuration, String)
ObjectWritable.java:373
org.apache.hadoop.io.ObjectWritable.readObject(DataInput, ObjectWritable,
Configuration) ObjectWritable.java:282
org.apache.hadoop.io.ObjectWritable.readFields(DataInput) ObjectWritable.java:77
org.apache.hadoop.ipc.Client$Connection.receiveRpcResponse() Client.java:1098
org.apache.hadoop.ipc.Client$Connection.run() Client.java:977
{code}
{code}
private static final Map<ClassLoader, Map<String, WeakReference<Class<?>>>>
CACHE_CLASSES = new WeakHashMap<ClassLoader, Map<String,
WeakReference<Class<?>>>>();
...
synchronized (CACHE_CLASSES) {
map = CACHE_CLASSES.get(classLoader);
if (map == null) {
map = Collections.synchronizedMap(
new WeakHashMap<String, WeakReference<Class<?>>>());
CACHE_CLASSES.put(classLoader, map);
}
}
{code}
!configuration-sync-cache.png!
!configuration-cache-bt.png!
was:
{code}
private static final Map<ClassLoader, Map<String, WeakReference<Class<?>>>>
CACHE_CLASSES = new WeakHashMap<ClassLoader, Map<String,
WeakReference<Class<?>>>>();
...
synchronized (CACHE_CLASSES) {
map = CACHE_CLASSES.get(classLoader);
if (map == null) {
map = Collections.synchronizedMap(
new WeakHashMap<String, WeakReference<Class<?>>>());
CACHE_CLASSES.put(classLoader, map);
}
}
{code}
!configuration-sync-cache.png!
!configuration-cache-bt.png!
> Configuration::getClassByNameOrNull synchronizes on a static object
> -------------------------------------------------------------------
>
> Key: HADOOP-11771
> URL: https://issues.apache.org/jira/browse/HADOOP-11771
> Project: Hadoop Common
> Issue Type: Sub-task
> Components: conf, io, ipc
> Reporter: Gopal V
> Priority: Critical
> Attachments: configuration-cache-bt.png, configuration-sync-cache.png
>
>
> {code}
> IPC Client (1970436060) connection to
> cn106-10.l42scl.hortonworks.com/172.21.128.106:34530 from
> application_1442254312093_2976 [BLOCKED] [DAEMON]
> org.apache.hadoop.conf.Configuration.getClassByNameOrNull(String)
> Configuration.java:2117
> org.apache.hadoop.conf.Configuration.getClassByName(String)
> Configuration.java:2099
> org.apache.hadoop.io.ObjectWritable.loadClass(Configuration, String)
> ObjectWritable.java:373
> org.apache.hadoop.io.ObjectWritable.readObject(DataInput, ObjectWritable,
> Configuration) ObjectWritable.java:282
> org.apache.hadoop.io.ObjectWritable.readFields(DataInput)
> ObjectWritable.java:77
> org.apache.hadoop.ipc.Client$Connection.receiveRpcResponse() Client.java:1098
> org.apache.hadoop.ipc.Client$Connection.run() Client.java:977
> {code}
> {code}
> private static final Map<ClassLoader, Map<String, WeakReference<Class<?>>>>
> CACHE_CLASSES = new WeakHashMap<ClassLoader, Map<String,
> WeakReference<Class<?>>>>();
> ...
> synchronized (CACHE_CLASSES) {
> map = CACHE_CLASSES.get(classLoader);
> if (map == null) {
> map = Collections.synchronizedMap(
> new WeakHashMap<String, WeakReference<Class<?>>>());
> CACHE_CLASSES.put(classLoader, map);
> }
> }
> {code}
> !configuration-sync-cache.png!
> !configuration-cache-bt.png!
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)