[ 
https://issues.apache.org/jira/browse/HBASE-28012?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Duo Zhang updated HBASE-28012:
------------------------------
    Fix Version/s: 2.6.0
                   2.4.18
                   2.5.6
                   3.0.0-beta-1
     Hadoop Flags: Reviewed
       Resolution: Fixed
           Status: Resolved  (was: Patch Available)

Pushed to all active branches.

Thanks [~bewing] for contributing!

> Avoid CellUtil.cloneRow in BufferedEncodedSeeker
> ------------------------------------------------
>
>                 Key: HBASE-28012
>                 URL: https://issues.apache.org/jira/browse/HBASE-28012
>             Project: HBase
>          Issue Type: Improvement
>          Components: Offheaping, Performance
>    Affects Versions: 2.5.4
>            Reporter: Becker Ewing
>            Assignee: Becker Ewing
>            Priority: Major
>             Fix For: 2.6.0, 2.4.18, 2.5.6, 3.0.0-beta-1
>
>         Attachments: rs-reversescan-flamegraph.html
>
>
> A RegionServer running a workload that consisted of mostly reverse (and some 
> forward) scans of thousands of tall (36 byte rows) under moderate read 
> pressure (based on block bytes scanned) saw near 100% CPU usage. We noticed 
> that the high CPU usage tended to correlate with more reverse scan quantity 
> and the throughput of the server running more reverse scans was vastly lower 
> than expectation. 
>  
> A flame graph of the Region Server at 100% CPU usage. Analysis of the 
> flamegraph reveals that each seek for a reverse scan (which has more seeks 
> than the forward seek path) has 2 CellUtil.cloneRow rowkey copies per seek. 
> These CellUtil#cloneRow calls can be removed from this code path for off-heap 
> cells in a similar fashion to HBASE-27146



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

Reply via email to