You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Ted Yu (JIRA)" <ji...@apache.org> on 2012/11/15 00:30:13 UTC

[jira] [Commented] (HBASE-7163) Change cachedRegionsLocations in HConnectionManager from SoftValueSortedMap to ConcurrentSkipListMap

    [ https://issues.apache.org/jira/browse/HBASE-7163?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13497584#comment-13497584 ] 

Ted Yu commented on HBASE-7163:
-------------------------------

@Karthik:
The second snippet contains your proposed change.
Were you referring to the following code in getCachedLocation() ?
{code}
      // Cut the cache so that we only get the part that could contain
      // regions that match our key
      SortedMap<byte[], HRegionLocation> matchingRegions =
        tableLocations.headMap(row);
{code}
Thanks
                
> Change cachedRegionsLocations in HConnectionManager from SoftValueSortedMap to ConcurrentSkipListMap
> ----------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-7163
>                 URL: https://issues.apache.org/jira/browse/HBASE-7163
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: Karthik Ranganathan
>            Assignee: Karthik Ranganathan
>
> This change saves 15% CPU on the client side per profiling. In using the ConcurrentSkipListMap, we can do:
> tableLocations.floorEntry(row).getValue()
> instead of doing:
> SortedMap<byte[], HRegionLocation> matchingRegions =
>         tableLocations.floorEntry(row).getValue();
> if (!matchingRegions.isEmpty()) {
>   HRegionLocation possibleRegion = 
>     matchingRegions.get(matchingRegions.lastKey());
> }

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira