[ https://issues.apache.org/jira/browse/HBASE-5088?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13182175#comment-13182175 ]
Lars Hofhansl commented on HBASE-5088: -------------------------------------- Removed some of the attachment that are just confusing. The addendum also fixes minor formatting inconsistencies that I had introduced. All is good now. > 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: Lars Hofhansl > Priority: Critical > Fix For: 0.92.0, 0.94.0, 0.90.6 > > Attachments: 5088-0.90.txt, 5088-0.92-trunk-addendum.txt, > 5088-final3.txt, HBase-5088-90.patch, HBase-5088-trunk.patch, > HBase5088-90-replaceSoftValueSortedMap.patch, > HBase5088-90-replaceTreeMap.patch, HBase5088-trunk-replaceTreeMap.patch, > HBase5088Reproduce.java, PerformanceTestResults.png > > > 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