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

Hudson commented on HBASE-30225:
--------------------------------

Results for branch branch-3
        [build #579 on 
builds.a.o|https://ci-hbase.apache.org/job/HBase%20Nightly/job/branch-3/579/]: 
(/) *{color:green}+1 overall{color}*
----
details (if available):

(/) {color:green}+1 general checks{color}
-- For more information [see general 
report|https://ci-hbase.apache.org/job/HBase%20Nightly/job/branch-3/579/General_20Nightly_20Build_20Report/]








(/) {color:green}+1 jdk17 hadoop3 checks{color}
-- For more information [see jdk17 
report|https://ci-hbase.apache.org/job/HBase%20Nightly/job/branch-3/579/JDK17_20Nightly_20Build_20Report_20_28Hadoop3_29/]


> Performance degradation observed on ycsb reads benchmark after HBASE-29727
> --------------------------------------------------------------------------
>
>                 Key: HBASE-30225
>                 URL: https://issues.apache.org/jira/browse/HBASE-30225
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 3.0.0-beta-1, 2.6.6
>            Reporter: Wellington Chevreuil
>            Assignee: Wellington Chevreuil
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 2.7.0, 3.0.0-beta-2, 2.6.7
>
>         Attachments: flame-graph-zoomed.png, flamegraph-high-level.png
>
>
> In HBASE-29727 we replaced a single Path attribute by three String fields for 
> region, column family and file names, respectively. Since these values tend 
> to have a high level of redundancy on large caches (same region, family and 
> file names for many different blocks), we introduced the usage of string pool 
> to avoid string value repetition and save heap allocation.
> When executing ycsb read workloads, we observed a ~30% latency degradation 
> The problem was that we added logic for parsing the file Path into region 
> name, family name, as well checks for archiving all on the BlockCacheKey 
> constructor used by HFileReaderImpl on the beginning of each block read. As 
> seen on the flame graphs attached covering a five minutes window on one of 
> the RSes, around 30% of the CPU time was spent on the BlockCacheKey 
> constructor, either calling Path.getParent() or HFileUtils.isHFileArchived().
> !flamegraph-high-level.png!
> !flame-graph-zoomed.png!
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to