[ https://issues.apache.org/jira/browse/HBASE-5388?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13207309#comment-13207309 ]
Lars Hofhansl commented on HBASE-5388: -------------------------------------- I had a look. Having SoftValueSortedMap implement NavigableMap just opens up a new can of worms. NavigableMap has lowerEntry, but what should that return? A SoftValue? That means the value of the returned entry can become null at any point. Let's go with the original patch and just add the reference to the concrete SoftValueSortedMap type. > Tuning HConnectionManager#getCachedLocation method > -------------------------------------------------- > > Key: HBASE-5388 > URL: https://issues.apache.org/jira/browse/HBASE-5388 > Project: HBase > Issue Type: Improvement > Affects Versions: 0.90.5 > Reporter: ronghai.ma > Assignee: ronghai.ma > Labels: patch > Fix For: 0.94.0 > > Attachments: 5388-v2.txt, 5388-v3.txt, HConnectionManager.java, > SoftValueSortedMap.java, SoftValueSortedMap.java > > > About 75% improvement in execution time. > 1. Add the following method in SoftValueSortedMap: > {code} > public synchronized <K, V> Entry<K, V> lowerEntry(K key) { > return ((TreeMap) this.internalMap).lowerEntry(key); > } > {code} > 2. Modify getCachedLocation: > {code} > Map.Entry<byte[], HRegionLocation> tEntry = tableLocations.lowerEntry(row); > if (tEntry != null) { > HRegionLocation possibleRegion = tEntry.getValue(); > //other code > } > {code} -- 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