-
Notifications
You must be signed in to change notification settings - Fork 3.3k
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
[Bug](dead lock) Fix dead lock in Tablet Stat Mgr #46959
Open
xy720
wants to merge
8
commits into
apache:master
Choose a base branch
from
xy720:fix-dead-lock-tablet-stat
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
run buildall |
1 similar comment
run buildall |
TPC-H: Total hot run time: 33261 ms
|
TPC-H: Total hot run time: 32704 ms
|
TPC-DS: Total hot run time: 196231 ms
|
ClickBench: Total hot run time: 31.45 s
|
run buildall |
TPC-H: Total hot run time: 32848 ms
|
TPC-DS: Total hot run time: 195490 ms
|
ClickBench: Total hot run time: 30.85 s
|
run buildall |
TPC-H: Total hot run time: 32710 ms
|
TPC-DS: Total hot run time: 188227 ms
|
ClickBench: Total hot run time: 31.26 s
|
gavinchou
reviewed
Jan 14, 2025
fe/fe-core/src/main/java/org/apache/doris/catalog/TabletStatMgr.java
Outdated
Show resolved
Hide resolved
liutang123
reviewed
Jan 15, 2025
fe/fe-core/src/main/java/org/apache/doris/catalog/TabletStatMgr.java
Outdated
Show resolved
Hide resolved
xy720
force-pushed
the
fix-dead-lock-tablet-stat
branch
from
January 15, 2025 09:00
e81bf3f
to
4d48c00
Compare
run buildall |
TPC-H: Total hot run time: 33078 ms
|
TPC-DS: Total hot run time: 189038 ms
|
ClickBench: Total hot run time: 31.75 s
|
run buildall |
1 similar comment
run buildall |
TPC-H: Total hot run time: 32279 ms
|
TPC-DS: Total hot run time: 194698 ms
|
ClickBench: Total hot run time: 31.02 s
|
run p0 |
xy720
force-pushed
the
fix-dead-lock-tablet-stat
branch
from
January 16, 2025 08:54
6d1a367
to
3419dc5
Compare
run buildall |
run buildall |
TPC-H: Total hot run time: 32554 ms
|
TPC-DS: Total hot run time: 186986 ms
|
ClickBench: Total hot run time: 30.51 s
|
liutang123
approved these changes
Jan 17, 2025
github-actions
bot
added
the
approved
Indicates a PR has been approved by one committer.
label
Jan 17, 2025
PR approved by at least one committer and no changes requested. |
PR approved by anyone and no changes requested. |
cambyzju
approved these changes
Jan 17, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What problem does this PR solve?
Issue Number: close #xxx
Related PR: #28608
Problem Summary:
In TabletStatMgr, We use stream().parallel() or parallelStream() in a ForkJoinTask,when they are called, the stream will allocate the
ForEach
task to multiple threads. However, when the stream is within a ForkJoinTask, it will attempt to steal threads from the ForkJoinPool. When the number of threads in the ForkJoinPool is small, thread competition is very likely to occur, ultimately leading to a deadlock.Here is a deadlock stack of 4-core Fe with 3 Be:
Dead Lock Stack:
The address 0x00000005cc189d48 is the ForkJoinPool in TabletStatMgr.
This commit will abandon ForkJoinPool and use a regular thread pool instead.
Release note
None
Check List (For Author)
Test
Behavior changed:
Does this need documentation?
Check List (For Reviewer who merge this PR)