[
https://issues.apache.org/jira/browse/HBASE-5388?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13207031#comment-13207031
]
stack commented on HBASE-5388:
------------------------------
I agree w/ Zhihong, that '+ if (!(this.internalMap instanceof NavigableMap))
{' block seems unnecessary.
Is the 'greatest' in this right?
{code}
+ * retrieves the value associated with the greatest key strictly less than
+ * the given key, or null if there is no such key
{code}
Its unfortunate that SoftValueSortedMap sneaks back into HCM but I can live
with it if no alternative (Lars' suggestion having SVSM implement NM didn't
seem to bad but understand if it adds a bunch of boiler plate)
> 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, 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