[ https://issues.apache.org/jira/browse/HADOOP-11772?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Akira AJISAKA updated HADOOP-11772: ----------------------------------- Attachment: HADOOP-11772-wip-001.patch Thanks [~gopalv] for your comment. Attaching a sample patch to create pool for Clients. TODO: * Add a document for the new parameter * Create a test > 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, performance > Reporter: Gopal V > Assignee: Akira AJISAKA > Attachments: HADOOP-11772-001.patch, HADOOP-11772-wip-001.patch, > dfs-sync-ipc.png, 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! > !dfs-sync-ipc.png! -- This message was sent by Atlassian JIRA (v6.3.4#6332)