Walter Su created HADOOP-12475:
----------------------------------

             Summary: Replace guava Cache with ConcurrentHashMap for caching 
Connection in ipc Client
                 Key: HADOOP-12475
                 URL: https://issues.apache.org/jira/browse/HADOOP-12475
             Project: Hadoop Common
          Issue Type: Sub-task
            Reporter: Walter Su
            Assignee: Walter Su


quote [~daryn] from HADOOP-11772:
{quote}
CacheBuilder is obscenely expensive for concurrent map, and it requires 
generating unnecessary garbage even just to look up a key. Replace it with 
ConcurrentHashMap.

I identified this issue that impaired my own perf testing under load. The 
slowdown isn't just the sync. It's the expensive of Connection's ctor stalling 
other connections. The expensive of ConnectionId#equals causes delays. 
Synch'ing on connections causes unfair contention unlike a sync'ed method. 
Concurrency simply hides this.
{quote}

BTW, guava Cache is heavyweight. Per local test, ConcurrentHashMap has better 
overal performance.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to