-
Notifications
You must be signed in to change notification settings - Fork 3.4k
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
[Improvement](tablet) Prefetch tablets before opening #47501
base: master
Are you sure you want to change the base?
Conversation
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
run buildall |
TeamCity be ut coverage result: |
run buildall |
TPC-H: Total hot run time: 32511 ms
|
TPC-DS: Total hot run time: 184979 ms
|
ClickBench: Total hot run time: 30.39 s
|
TeamCity be ut coverage result: |
run buildall |
@@ -424,6 +427,17 @@ Status OlapScanLocalState::_init_scanners(std::list<vectorized::VScannerSPtr>* s | |||
return Status::OK(); | |||
} | |||
|
|||
Status OlapScanLocalState::hold_tablets() { |
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.
not only tablet consider rowset will erase by compaction
run buildall |
TPC-H: Total hot run time: 31640 ms
|
TPC-DS: Total hot run time: 190643 ms
|
ClickBench: Total hot run time: 31.05 s
|
TeamCity be ut coverage result: |
run buildall |
TPC-H: Total hot run time: 31707 ms
|
TPC-DS: Total hot run time: 191358 ms
|
ClickBench: Total hot run time: 31.12 s
|
TeamCity be ut coverage result: |
|
||
RETURN_IF_ERROR(_tablets[i].tablet->capture_rs_readers( | ||
{0, version}, &_read_sources[i].rs_splits, | ||
RuntimeFilterConsumer::_state->skip_missing_version())); |
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.
why here need RuntimeFilterConsumer?seems wired?why not directly _state
|
||
return Status::OK(); | ||
} | ||
|
||
Status OlapScanLocalState::hold_tablets() { |
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.
if the function cost too mush time, should log warning in BE. the clould mode may have io in pipeline thread may hang the thread, we should know the time cost
run buildall |
TPC-H: Total hot run time: 31542 ms
|
TPC-DS: Total hot run time: 183810 ms
|
ClickBench: Total hot run time: 30.82 s
|
TeamCity be ut coverage result: |
What problem does this PR solve?
Release note
For a scan operator in a query, FE will assign a tablet id to a specific scan operator and then it will be search by storage engine during execution. But this searching process will be done after runtime filter reached. However, if we wait for a runtime filter for a long time and compaction / balance tasks is done at the same time, a tablet / rowset will be lost and we got an error.
Check List (For Author)
Test
Behavior changed:
Does this need documentation?
Check List (For Reviewer who merge this PR)