-
Notifications
You must be signed in to change notification settings - Fork 3.7k
[Opt](mow) Opt mow load performance and CPU usage #55073
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
|
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
d98c449 to
b9c5284
Compare
|
run buildall |
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
|
PR approved by at least one committer and no changes requested. |
|
PR approved by anyone and no changes requested. |
TPC-H: Total hot run time: 34339 ms |
TPC-DS: Total hot run time: 185719 ms |
ClickBench: Total hot run time: 32.23 s |
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: 34071 ms |
TPC-DS: Total hot run time: 184377 ms |
ClickBench: Total hot run time: 33.03 s |
BE UT Coverage ReportIncrement line coverage Increment coverage report
|
|
run p0 |
|
run cloud_p0 |
BE Regression && UT Coverage ReportIncrement line coverage Increment coverage report
|
BE Regression && UT Coverage ReportIncrement line coverage Increment coverage report
|
1 similar comment
BE Regression && UT Coverage ReportIncrement line coverage Increment coverage report
|
f3c83f8 to
2e85851
Compare
|
run buildall |
TPC-H: Total hot run time: 34510 ms |
de65dfb to
5a2c6f2
Compare
|
run buildall |
TPC-H: Total hot run time: 34357 ms |
TPC-DS: Total hot run time: 186808 ms |
ClickBench: Total hot run time: 32.85 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
### What problem does this PR solve?
This PR let mow load use delete bitmap cache if possible when lookup row
key to reduce CPU usage.
Add 2 configs
`enable_prefill_output_dbm_agg_cache_after_compaction`/`enable_prefill_all_dbm_agg_cache_after_compaction`(default
true) to control whether to fresh delete bitmap cache on corresponding
rowsets after compaction.
### Release note
None
### Check List (For Author)
- Test <!-- At least one of them must be included. -->
- [ ] Regression test
- [ ] Unit Test
- [ ] Manual test (add detailed scripts or steps below)
- [ ] No need to test or manual test. Explain why:
- [ ] This is a refactor/code format and no logic has been changed.
- [ ] Previous test can cover this change.
- [ ] No code files have been changed.
- [ ] Other reason <!-- Add your reason? -->
- Behavior changed:
- [ ] No.
- [ ] Yes. <!-- Explain the behavior change -->
- Does this need documentation?
- [ ] No.
- [ ] Yes. <!-- Add document PR link here. eg:
apache/doris-website#1214 -->
### Check List (For Reviewer who merge this PR)
- [ ] Confirm the release note
- [ ] Confirm test cases
- [ ] Confirm document
- [ ] Add branch pick label <!-- Add branch pick label that this PR
should merge into -->
This PR let mow load use delete bitmap cache if possible when lookup row
key to reduce CPU usage.
Add 2 configs
`enable_prefill_output_dbm_agg_cache_after_compaction`/`enable_prefill_all_dbm_agg_cache_after_compaction`(default
true) to control whether to fresh delete bitmap cache on corresponding
rowsets after compaction.
None
- Test <!-- At least one of them must be included. -->
- [ ] Regression test
- [ ] Unit Test
- [ ] Manual test (add detailed scripts or steps below)
- [ ] No need to test or manual test. Explain why:
- [ ] This is a refactor/code format and no logic has been changed.
- [ ] Previous test can cover this change.
- [ ] No code files have been changed.
- [ ] Other reason <!-- Add your reason? -->
- Behavior changed:
- [ ] No.
- [ ] Yes. <!-- Explain the behavior change -->
- Does this need documentation?
- [ ] No.
- [ ] Yes. <!-- Add document PR link here. eg:
apache/doris-website#1214 -->
- [ ] Confirm the release note
- [ ] Confirm test cases
- [ ] Confirm document
- [ ] Add branch pick label <!-- Add branch pick label that this PR
should merge into -->
This PR let mow load use delete bitmap cache if possible when lookup row
key to reduce CPU usage.
Add 2 configs
`enable_prefill_output_dbm_agg_cache_after_compaction`/`enable_prefill_all_dbm_agg_cache_after_compaction`(default
true) to control whether to fresh delete bitmap cache on corresponding
rowsets after compaction.
None
- Test <!-- At least one of them must be included. -->
- [ ] Regression test
- [ ] Unit Test
- [ ] Manual test (add detailed scripts or steps below)
- [ ] No need to test or manual test. Explain why:
- [ ] This is a refactor/code format and no logic has been changed.
- [ ] Previous test can cover this change.
- [ ] No code files have been changed.
- [ ] Other reason <!-- Add your reason? -->
- Behavior changed:
- [ ] No.
- [ ] Yes. <!-- Explain the behavior change -->
- Does this need documentation?
- [ ] No.
- [ ] Yes. <!-- Add document PR link here. eg:
apache/doris-website#1214 -->
- [ ] Confirm the release note
- [ ] Confirm test cases
- [ ] Confirm document
- [ ] Add branch pick label <!-- Add branch pick label that this PR
should merge into -->
### What problem does this PR solve?
1. fix wrong tablet_id in `DeleteBitmap`
```cpp
Status CloudMetaMgr::get_tablet_meta(int64_t tablet_id, TabletMetaSharedPtr* tablet_meta) {
// ...
*tablet_meta = std::make_shared<TabletMeta>();
(*tablet_meta)
->init_from_pb(cloud_tablet_meta_to_doris(std::move(*resp.mutable_tablet_meta())));
VLOG_DEBUG << "get tablet meta, tablet_id: " << (*tablet_meta)->tablet_id();
// tablet_meta._delete_bitmap._tablet_id is always 0
return Status::OK();
}
TabletMeta::TabletMeta()
: _tablet_uid(0, 0),
_schema(new TabletSchema),
_delete_bitmap(new DeleteBitmap(_tablet_id)) {}
```
2. fix #55073,
#55733 case stuck due to not sending
reply
What problem does this PR solve?
This PR let mow load use delete bitmap cache if possible when lookup row key to reduce CPU usage.
Add 2 configs
enable_prefill_output_dbm_agg_cache_after_compaction/enable_prefill_all_dbm_agg_cache_after_compaction(default true) to control whether to fresh delete bitmap cache on corresponding rowsets after compaction.Release note
None
Check List (For Author)
Test
Behavior changed:
Does this need documentation?
Check List (For Reviewer who merge this PR)