hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Elliott Clark (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HBASE-14708) Use copy on write TreeMap for region location cache
Date Tue, 27 Oct 2015 16:18:27 GMT
Elliott Clark created HBASE-14708:

             Summary: Use copy on write TreeMap for region location cache
                 Key: HBASE-14708
                 URL: https://issues.apache.org/jira/browse/HBASE-14708
             Project: HBase
          Issue Type: Improvement
          Components: Client
    Affects Versions: 1.1.2
            Reporter: Elliott Clark
            Assignee: Elliott Clark
            Priority: Critical
             Fix For: 2.0.0, 1.2.0, 1.3.0
         Attachments: location_cache_times.pdf, result.csv

Internally a co-worker profiled their application that was talking to HBase. > 60% of the
time was spent in locating a region. This was while the cluster was stable and no regions
were moving.

To figure out if there was a faster way to cache region location I wrote up a benchmark here:

This tries to simulate a heavy load on the location cache. 

* 24 different threads.
* 2 Deleting location data
* 2 Adding location data
* Using floor to get the result.

To repeat my work just run ./run.sh and it should produce a result.csv

ConcurrentSkiplistMap is a good middle ground. It's got equal speed for reading and writing.

However most operations will not need to remove or add a region location. There will be potentially
several orders of magnitude more reads for cached locations than there will be on clearing
the cache.

So I propose a copy on write tree map.

This message was sent by Atlassian JIRA

View raw message