-
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
[fix](memory) Disable Arrow Jemalloc #37528
Conversation
Thank you for your contribution to Apache Doris. Since 2024-03-18, the Document has been moved to doris-website. |
run buildall |
4417a23
to
fc2fc02
Compare
run buildall |
TPC-H: Total hot run time: 39834 ms
|
TPC-DS: Total hot run time: 169964 ms
|
ClickBench: Total hot run time: 30.97 s
|
run buildall |
1 similar comment
run buildall |
TPC-H: Total hot run time: 40009 ms
|
TPC-DS: Total hot run time: 172741 ms
|
ClickBench: Total hot run time: 31.12 s
|
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. |
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
## Proposed changes after #37528 update third-party library
This reverts commit e142d02.
after apache#37528 update third-party library
* [PipelineX](improvement) Prepare tasks in parallel (apache#40270) Issue Number: close #xxx <!--Describe your changes.--> * [Improvement](agg) Improve count distinct distribute keys * 2-phase agg for count distinct int and 4-phase for string * Disable streaming agg for count distinct distribute key * [branch-2.1](memory) Disable Arrow Jemalloc (apache#37529) pick #apache#37528 * [branch-2.1](memory) Disable Arrow Jemalloc step 2 (apache#37556) pick apache#37533 * [api](cache) Add HTTP API to clear data cache * [Improvement](pipeline) Do parallel preparation for multiple fragments * fix compiling after cherry-pick --------- Co-authored-by: Xinyi Zou <[email protected]>
Proposed changes
Currently, Arrow use separate Jemalloc, and use non-standard methods
mallocx
,sdallocx
,rallocx
inmemory_pool_jemalloc.cc
to optimize memory allocation.But this may be incompatible with older versions of the Linux kernel. when we use Arrow on Arm Kirin v10 or Centos 7.4, it will get stuck on the Jemalloc Lock, with the stack below, it will appear when calling
arrow::RecordBatch::MakeEmpty
. the kernel version of Arm Kylin v10 is 4.19.90, and the kernel version of Centos 7.4 is 4.14.After disable separate Jemalloc when compiling Arrow, the above error disappeared, and Arrow will use the default memory allocator, which is Doris Jemalloc.