Becker Ewing created HBASE-28012:
------------------------------------
Summary: 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
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)