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

Hadoop QA commented on HBASE-14708:
-----------------------------------

{color:red}-1 overall{color}.  Here are the results of testing the latest 
attachment 
  http://issues.apache.org/jira/secure/attachment/12770665/HBASE-14708-v11.patch
  against master branch at commit 3e45755411f7cc1eb38832b48bf801f5a7947020.
  ATTACHMENT ID: 12770665

    {color:green}+1 @author{color}.  The patch does not contain any @author 
tags.

    {color:green}+1 tests included{color}.  The patch appears to include 8 new 
or modified tests.

    {color:green}+1 hadoop versions{color}. The patch compiles with all 
supported hadoop versions (2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.6.0 2.6.1 2.7.0 
2.7.1)

    {color:green}+1 javac{color}.  The applied patch does not increase the 
total number of javac compiler warnings.

    {color:green}+1 protoc{color}.  The applied patch does not increase the 
total number of protoc compiler warnings.

    {color:green}+1 javadoc{color}.  The javadoc tool did not generate any 
warning messages.

                {color:red}-1 checkstyle{color}.  The applied patch generated 
1733 checkstyle errors (more than the master's current 1726 errors).

    {color:green}+1 findbugs{color}.  The patch does not introduce any  new 
Findbugs (version 2.0.3) warnings.

    {color:red}-1 release audit{color}.  The applied patch generated 2 release 
audit warnings (more than the master's current 0 warnings).

    {color:red}-1 lineLengths{color}.  The patch introduces the following lines 
longer than 100:
    +public class CopyOnWriteArrayMap<K,V> extends AbstractMap<K,V> implements 
Map<K,V>, ConcurrentNavigableMap<K,V> {
+    private ArrayHolder(Map.Entry<K,V>[] entries, int startIndex, int 
endIndex, Comparator<Map.Entry<K,V>> comparator) {
+public class CopyOnWriteTreeMap<K,V> implements Map<K,V>, 
ConcurrentNavigableMap<K,V>, TailMapable<K,V> {

  {color:green}+1 site{color}.  The mvn post-site goal succeeds with this patch.

     {color:red}-1 core tests{color}.  The patch failed these unit tests:
                       org.apache.hadoop.hbase.TestInterfaceAudienceAnnotations

Test results: 
https://builds.apache.org/job/PreCommit-HBASE-Build/16388//testReport/
Release audit warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/16388//artifact/patchprocess/patchReleaseAuditWarnings.txt
Release Findbugs (version 2.0.3)        warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/16388//artifact/patchprocess/newFindbugsWarnings.html
Checkstyle Errors: 
https://builds.apache.org/job/PreCommit-HBASE-Build/16388//artifact/patchprocess/checkstyle-aggregate.html

                Console output: 
https://builds.apache.org/job/PreCommit-HBASE-Build/16388//console

This message is automatically generated.

> 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: HBASE-14708-v10.patch, HBASE-14708-v11.patch, 
> HBASE-14708-v2.patch, HBASE-14708-v3.patch, HBASE-14708-v4.patch, 
> HBASE-14708-v5.patch, HBASE-14708-v6.patch, HBASE-14708-v7.patch, 
> HBASE-14708-v8.patch, HBASE-14708-v9.patch, HBASE-14708.patch, 
> anotherbench.zip, 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: https://github.com/elliottneilclark/benchmark-hbase-cache
> 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
> Results:
> 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
(v6.3.4#6332)

Reply via email to