Gopal V created HADOOP-11772: -------------------------------- Summary: RPC Invoker relies on static ClientCache which has synchronized(this) blocks Key: HADOOP-11772 URL: https://issues.apache.org/jira/browse/HADOOP-11772 Project: Hadoop Common Issue Type: Sub-task Components: ipc Reporter: Gopal V Attachments: sync-client-bt.png, sync-client-threads.png
{code} private static ClientCache CLIENTS=new ClientCache(); ... this.client = CLIENTS.getClient(conf, factory); {code} Meanwhile in ClientCache {code} public synchronized Client getClient(Configuration conf, SocketFactory factory, Class<? extends Writable> valueClass) { ... Client client = clients.get(factory); if (client == null) { client = new Client(valueClass, conf, factory); clients.put(factory, client); } else { client.incCount(); } {code} All invokers end up calling these methods, resulting in IPC clients choking up. !sync-client-threads.png! !sync-client-bt.png! -- This message was sent by Atlassian JIRA (v6.3.4#6332)