[
https://issues.apache.org/jira/browse/HBASE-27227?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Bryan Beaudreault updated HBASE-27227:
--------------------------------------
Resolution: Won't Do
Status: Resolved (was: Patch Available)
Decided to postpone this. Instead we were able to work around the issue by
limiting the maximum block bytes loaded in a filtered scan. See HBASE-27558.
May decide to reopen this if a measurable problem still exists despite that
work.
> Long running heavily filtered scans hold up too many ByteBuffAllocator buffers
> ------------------------------------------------------------------------------
>
> Key: HBASE-27227
> URL: https://issues.apache.org/jira/browse/HBASE-27227
> Project: HBase
> Issue Type: Improvement
> Reporter: Bryan Beaudreault
> Assignee: Bryan Beaudreault
> Priority: Major
> Labels: patch-available
> Attachments: Screen Shot 2022-07-20 at 10.52.40 AM.png, Screen Shot
> 2022-12-27 at 4.25.31 PM.png
>
>
> We have a workload which is launching long running scans searching for a
> needle in a haystack. They have a timeout of 60s, so are allowed to run on
> the server for 30s. Most of the rows are filtered, and the final result is
> usually only a few kb.
> When these scans are running, we notice our ByteBuffAllocator pool usage goes
> to 100% and we start seeing 100+ MB/s of heap allocations. When the scans
> finish, the pool goes back to normal and heap allocations go away.
> My working theory here is that we are only releasing ByteBuff's once we call
> {{shipper.shipped(),}} which only happens once a response is returned to the
> user. This works fine for normal scans which are likely to quickly find
> enough results to return, but for long running scans in which most of the
> results are filtered we end up holding on to more and more buffers until the
> scan finally returns.
> We should consider whether it's possible to release buffers for blocks whose
> cells have been completely skipped by a scan.
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)