-
Notifications
You must be signed in to change notification settings - Fork 599
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
feat(streaming): all stateful executors can try spill when chunk comes #13751
Conversation
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## main #13751 +/- ##
==========================================
- Coverage 68.31% 68.30% -0.01%
==========================================
Files 1527 1527
Lines 262575 262615 +40
==========================================
+ Hits 179378 179380 +2
- Misses 83197 83235 +38
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
Thanks for the PR. Can we run benchmark on this to make sure no performance degradation? |
Sure, I will perf this pr with daily benchmark later. |
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, wait for benchmark
…nto wcy/all_stateful_executor_can_spill
Please fill the PR description.. |
Wait for the perf test. https://buildkite.com/risingwave-test/nexmark-benchmark/builds/2623 |
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 as well. Waiting for results.
perf test result: http://metabase.risingwave-cloud.xyz/dashboard/241-nexmark-blackhole-1cn-anti-affinity-rw-avg-source-throughput?start_date=2023-12-06&namespace=
In short, The performance of q3 and q7-rewrite has slightly decreased, and the other performance listed here has improved. The performance of the remaining unlisted queries remains basically unchanged. Not sure if this is expected behavior, but the performance of most queries has actually improved. cc @stdrc @st1page |
q3 and q7-rewrite's degression LGTM and the performance is just similar to the nightly1203 I used to think the performance increase is because the memtable consumes less memory and the operator cache can consume more. But the metrics give the opposite phenomenon I guess it is because the backpressure becomes more sensitive and make spikes smoother Generally, the PR LGTM and I do not see negative effects... |
I see, thanks. So let's merge. |
I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?
Previously we have introduced mem table spill for hash_join, dynamic filter and materialized executor, which can reduce oom risk.
Other stateful exeutors, like top_n may also suffer from big mem table, so this pr add spill for all stateful executors.
perf test result: http://metabase.risingwave-cloud.xyz/dashboard/241-nexmark-blackhole-1cn-anti-affinity-rw-avg-source-throughput?start_date=2023-12-06&namespace=
Checklist
./risedev check
(or alias,./risedev c
)Documentation
Release note
If this PR includes changes that directly affect users or other significant modifications relevant to the community, kindly draft a release note to provide a concise summary of these changes. Please prioritize highlighting the impact these changes will have on users.