[bug](Fe) fix potential deadlock in show proc statement#34988
[bug](Fe) fix potential deadlock in show proc statement#34988xy720 merged 1 commit intoapache:masterfrom
Conversation
|
Thank you for your contribution to Apache Doris. Since 2024-03-18, the Document has been moved to doris-website. |
|
run buildall |
|
It's said that java.util.concurrent.ForkJoinPool may degrade performance. Please confirm whether the changes here involve high-frequency operations. |
As we discussed, the pr will not affect performance. No longer use the global only thread pool here, but instead use its own thread pool separately. |
|
PR approved by at least one committer and no changes requested. |
|
PR approved by anyone and no changes requested. |
### What problem does this PR solve? come from: #34988 Problem: Use JDK11 and call `show proc "/cluster_health/tablet_health"` frequently, make large number of ForkJoinPool thread leak
### What problem does this PR solve? come from: #34988 Problem: Use JDK11 and call `show proc "/cluster_health/tablet_health"` frequently, make large number of ForkJoinPool thread leak
### What problem does this PR solve? come from: #34988 Problem: Use JDK11 and call `show proc "/cluster_health/tablet_health"` frequently, make large number of ForkJoinPool thread leak
Proposed changes
Issue Number: close #xxx
version: 1.2|2.0|2.1
We have encountered Fe hang and the number connections reach limits.
Unfortunately, I restarted FE without Jstack the Fe process.
But I found a lot of logs like:
The tablet report task is hang:
And the dynamic partition scheduler seems also hang:
I found a similar issue, as issue #11319 saying, we should avoid using common global
ForkJoinPoolto execute parallelStream tasks and prevent Fe deadlocks from occurring.Further comments
If this is a relatively large or complex change, kick off the discussion at dev@doris.apache.org by explaining why you chose the solution you did and what alternatives you considered, etc...