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

Becker Ewing reassigned HBASE-28012:
------------------------------------

    Assignee: Becker Ewing

> Avoid CellUtil.cloneRow in BufferedEncodedSeeker
> ------------------------------------------------
>
>                 Key: HBASE-28012
>                 URL: https://issues.apache.org/jira/browse/HBASE-28012
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 2.5.4
>            Reporter: Becker Ewing
>            Assignee: Becker Ewing
>            Priority: Major
>         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