-
Notifications
You must be signed in to change notification settings - Fork 6.5k
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
Add AsyncLoader with dependency tracking and runtime prioritization #48923
Conversation
|
Reproduced. Again, I'm not sure what is the reason. But now we can see there is access to uninitialized variable UPD. should be fixed by #49316 |
Co-authored-by: Antonio Andelic <antonio2368@users.noreply.github.com>
Co-authored-by: Antonio Andelic <antonio2368@users.noreply.github.com>
Co-authored-by: Antonio Andelic <antonio2368@users.noreply.github.com>
Co-authored-by: Antonio Andelic <antonio2368@users.noreply.github.com>
@rschu1ze Could you please take a look at this https://s3.amazonaws.com/clickhouse-test-reports/48923/1263c58f648dd8c3b111f82b2e50123c40789719/unit_tests__msan_/run.log I thought it should be fixed by #49316. But it is not, for some reason. |
@serxa let me try to reproduce locally ... |
Reproduces easily, checking ... |
@serxa Unlike first suspected, the failure is definitely unrelated to #49316. And I am pretty sure it is a false alarm. I tried to suppress it yesterday with To un-block this PR, feel free to disable the failing test for now( |
This tool is needed to make async table loading possible in #43424.
Please, read a comment about
AsyncLoader
class in the source code for implementation details.Here is how it is going to be used in the follow-up PRs. But I want to merge
AsyncLoader
first. The idea is to load the dependency graph created by TablesLoader into AsyncLoader as a graph of LoadJobs. There will be at least 4 types ofLoadJob
s:On incoming queries, we will wait for every involved table to be started (job type 2). Important: to speed up the loading of these tables, we will prioritize all corresponding jobs (with their dependencies) using
AsyncLoader::prioritize(job, new_priority)
.cc @alesapin @tavplubix
Changelog category (leave one):