-
Notifications
You must be signed in to change notification settings - Fork 3.7k
[opt](load) avoid over-flushing active memtables in memory limiter (#52906) #53909
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…pache#52906) Related PR: apache#41018 Problem Summary: Update the `_need_flush()` function to subtract both `_queue_mem_usage` and `_flush_mem_usage` when deciding how much memory needs to be flushed. Previously, we only subtracted `_queue_mem_usage`, which could lead to flushing more active memtables than necessary. This change ensures that only the required amount of active memtable memory is flushed, avoiding premature flushes. This helps prevent creating small segments, which can hurt performance and storage efficiency.
|
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
|
run buildall |
BE UT Coverage ReportIncrement line coverage Increment coverage report
|
BE Regression && UT Coverage ReportIncrement line coverage Increment coverage report
|
|
run buildall |
TPC-H: Total hot run time: 39415 ms |
TPC-DS: Total hot run time: 196174 ms |
ClickBench: Total hot run time: 29.8 s |
BE UT Coverage ReportIncrement line coverage Increment coverage report
|
BE Regression && UT Coverage ReportIncrement line coverage Increment coverage report
|
dataroaring
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
backport #52906