-
Notifications
You must be signed in to change notification settings - Fork 3.2k
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
[Fix](Schema Change ) fix schema change fail as internal sorting will no change to run #39979
base: branch-2.0
Are you sure you want to change the base?
[Fix](Schema Change ) fix schema change fail as internal sorting will no change to run #39979
Conversation
Thank you for your contribution to Apache Doris. Since 2024-03-18, the Document has been moved to doris-website. |
run buildall |
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.
clang-tidy made some suggestions
@@ -235,6 +235,8 @@ class StorageEngine { | |||
|
|||
int64_t memory_limitation_bytes_per_thread_for_schema_change() const; | |||
|
|||
int64_t memory_limitation_bytes_per_thread_for_schema_change_internal_sorting() const; |
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.
warning: function 'memory_limitation_bytes_per_thread_for_schema_change_internal_sorting' should be marked [[nodiscard]] [modernize-use-nodiscard]
int64_t memory_limitation_bytes_per_thread_for_schema_change_internal_sorting() const; | |
[[nodiscard]] int64_t memory_limitation_bytes_per_thread_for_schema_change_internal_sorting() const; |
TPC-H: Total hot run time: 49891 ms
|
TeamCity be ut coverage result: |
TPC-DS: Total hot run time: 202783 ms
|
ClickBench: Total hot run time: 31.42 s
|
Load test result on machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
|
close it as #39995 is fixed |
fixed in #39995 |
as pr #39995 not fix the schema change failure totally, in our env, the failure still exist for some big table even change the config: memory_limitation_per_thread_for_schema_change_bytes . so reopen this, as this pr introduce another config: memory_limitation_per_thread_for_schema_change_internal_sorting_bytes to limit the memory usage in sorting schema change. |
Proposed changes
when doing sorting schema change, the memory limit for changer and internal sorting now is memory limit of schema change task, witch will case the internal sorting no chance to run, and the schema change failed.
this pr try to limit the changer and internal sorting to std::min(0.5*memory_limit_of_schema_change_per_thread, memory_limitation_per_thread_for_schema_change_internal_sorting_bytes) to let the internal sorting and changer have enough memory to run.