You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Bryan Beaudreault (Jira)" <ji...@apache.org> on 2022/07/29 14:30:00 UTC

[jira] [Comment Edited] (HBASE-27257) Remove unnecessary usage of CachedBlocksByFile from RS UI

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

Bryan Beaudreault edited comment on HBASE-27257 at 7/29/22 2:29 PM:
--------------------------------------------------------------------

Uploaded a flamegraph which shows the time dominated by CachedBlocksByFile during load of RS UI. I tried capturing a flamegraph post-removal as well. I was able to refresh the RS UI a bunch of times in the 10s default capture window, and it didnt show up in the flamegraph at all.


was (Author: bbeaudreault):
Uploaded a flamegraph which shows the time dominated by CachedBlocksByFile during load of RS UI

> Remove unnecessary usage of CachedBlocksByFile from RS UI
> ---------------------------------------------------------
>
>                 Key: HBASE-27257
>                 URL: https://issues.apache.org/jira/browse/HBASE-27257
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Bryan Beaudreault
>            Priority: Major
>         Attachments: async-prof-pid-29233-cpu-1.html
>
>
> We have started deploying regionservers with large BucketCaches, with over 1M blocks in the cache. I noticed that our RS UI was loading pretty slowly, and I also noticed the following warning:
> {quote}*The stats below are incomplete!* We ran into our accounting limit of 1000000 blocks. Up the configuration {_}hbase.ui.blockcache.by.file.max{_}.{quote}
> Tracking that down, it seems like the original implementation back in 2014 for the BlockCache statistics used CachedBlocksByFile to calculate counts, sizes, etc. But over time this was improved to be backed by CacheStats, for example in HBASE-11573, HBASE-15635, HBASE-18532, etc.
> At this point the cbsbf variable holding the CachedBlocksByFile object is not actually used by anything on the RS UI. Instead those per-file statistics have been moved to other endpoints, available via the "View block cache as JSON" and "as JSON by file" links.
> Removing the creation of the cbsbf variable makes a dramatic improvement on RS UI load times for large caches. Prior to the change, it consistently took 4-5s to load the UI. Afterward it takes a fraction of a second.



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