[ https://issues.apache.org/jira/browse/HBASE-5088?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13174623#comment-13174623 ]
ramkrishna.s.vasudevan commented on HBASE-5088: ----------------------------------------------- {code} "WriterThread-2" prio=10 tid=0x00000000405cb000 nid=0x6a98 runnable [0x00007fd0c18cf000] java.lang.Thread.State: RUNNABLE at org.apache.hadoop.hbase.util.Bytes.compareTo(Bytes.java:916) at org.apache.hadoop.hbase.util.Bytes$ByteArrayComparator.compare(Bytes.java:109) at org.apache.hadoop.hbase.util.Bytes$ByteArrayComparator.compare(Bytes.java:101) at java.util.TreeMap.getEntryUsingComparator(TreeMap.java:351) at java.util.TreeMap.getEntry(TreeMap.java:322) at java.util.TreeMap.remove(TreeMap.java:580) at org.apache.hadoop.hbase.util.SoftValueSortedMap.checkReferences(SoftValueSortedMap.java:76) at org.apache.hadoop.hbase.util.SoftValueSortedMap.isEmpty(SoftValueSortedMap.java:150) - locked <0x00007fd106cd6870> (a org.apache.hadoop.hbase.util.SoftValueSortedMap) at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getCachedLocation(HConnectionManager.java:826) at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegionInMeta(HConnectionManager.java:668) at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:594) at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.processBatch(HConnectionManager.java:1133) at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.processBatchOfPuts(HConnectionManager.java:1253) at org.apache.hadoop.hbase.client.HTable.flushCommits(HTable.java:828) at org.apache.hadoop.hbase.client.HTable.doPut(HTable.java:684) at org.apache.hadoop.hbase.client.HTable.put(HTable.java:674) at PerRegionLoadData$WriterThread.writeBuffer(PerRegionLoadData.java:350) at PerRegionLoadData$WriterThread.doRun(PerRegionLoadData.java:314) {code} Once we got the above stack trace.. did not dig in much that time.. good finding > 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 > > 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 heapMap 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