[ https://issues.apache.org/jira/browse/HBASE-5088?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jieshan Bean updated HBASE-5088: -------------------------------- Attachment: (was: HBase5088-trunk-replaceTreeMap.patch) > 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 > Priority: Critical > Fix For: 0.92.0 > > Attachments: 5088-useMapInterfaces.txt, 5088.generics.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