[ https://issues.apache.org/jira/browse/HBASE-5088?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13175488#comment-13175488 ]
Zhihong Yu commented on HBASE-5088: ----------------------------------- @Jieshan: What is the unit of comparison you gave @ 23/Dec/11 12:25 ? If possible, can you get numbers for read and write, respectively. {code} - public synchronized V put(K key, V value) { + public V put(K key, V value) { {code} One might think higher concurrency should be achived by removing synchronized keyword. > A concurrency issue on SoftValueSortedMap > ----------------------------------------- > > Key: HBASE-5088 > URL: https://issues.apache.org/jira/browse/HBASE-5088 > Project: HBase > Issue Type: Bug > Components: client > Affects Versions: 0.90.4, 0.94.0 > Reporter: Jieshan Bean > Assignee: Jieshan Bean > Attachments: 5088-useMapInterfaces.txt, HBase-5088-90.patch, > HBase-5088-trunk.patch, HBase5088Reproduce.java > > > SoftValueSortedMap is backed by a TreeMap. All the methods in this class are > synchronized. If we use this method to add/delete elements, it's ok. > But in HConnectionManager#getCachedLocation, it use headMap to get a view > from SoftValueSortedMap#internalMap. Once we operate > on this view map(like add/delete) in other threads, a concurrency issue may > occur. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira