[ 
https://issues.apache.org/jira/browse/HADOOP-12475?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14959815#comment-14959815
 ] 

Sangjin Lee commented on HADOOP-12475:
--------------------------------------

Thanks [~cnauroth]!

I'm actually somewhat confused by this. When we commit a patch onto trunk, do 
we add the attribution to the trunk section or the latest unreleased major 
release (in this case 2.8.0)? I see a whole bunch of JIRAs in both sections, 
and I assumed that I would add it to the trunk section for trunk and 2.8.0 for 
branch-2. The commit guide doesn't seem to mention it clearly either...

> 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
>          Components: conf, io, ipc
>            Reporter: Walter Su
>            Assignee: Walter Su
>             Fix For: 2.8.0
>
>         Attachments: HADOOP-12475.01.patch, HADOOP-12475.02.patch, 
> HADOOP-12475.03.patch
>
>
> 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