Skip to content
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

[SPARK-47146][CORE][3.5] Possible thread leak when doing sort merge join #45390

Closed

Conversation

JacobZheng0927
Copy link
Contributor

This pr backport #45327 to branch-3.5

What changes were proposed in this pull request? Add TaskCompletionListener to close inputStream to avoid thread leakage caused by unclosed ReadAheadInputStream.

Why are the changes needed?

To fix the issue SPARK-47146

Does this PR introduce any user-facing change?

No

How was this patch tested?

Unit test

Was this patch authored or co-authored using generative AI tooling?

No

### What changes were proposed in this pull request?
Add TaskCompletionListener to close inputStream to avoid thread leakage caused by unclosed ReadAheadInputStream.

### Why are the changes needed?
SPARK-40849 modified the implementation of `newDaemonSingleThreadExecutor` to use `newFixedThreadPool` instead of `newSingleThreadExecutor` .The difference is that `newSingleThreadExecutor` uses the `FinalizableDelegatedExecutorService`, which provides a `finalize` method that automatically closes the thread pool. In some cases, sort merge join execution uses `ReadAheadSteam` and does not close it, so this change caused a thread leak. Since Finalization is deprecated and subject to removal in a future release, we should close the associated streams instead of relying on the finalize method.

### Does this PR introduce _any_ user-facing change?
No

### How was this patch tested?
Unit test

### Was this patch authored or co-authored using generative AI tooling?
No

Closes apache#45327 from JacobZheng0927/SPARK-47146.

Authored-by: JacobZheng0927 <zsh517559523@163.com>
Signed-off-by: Mridul Muralidharan <mridul<at>gmail.com>
@JacobZheng0927 JacobZheng0927 changed the title [SPARK-47146][CORE] Possible thread leak when doing sort merge join [SPARK-47146][CORE][3.5] Possible thread leak when doing sort merge join Mar 5, 2024
Copy link
Contributor

@mridulm mridulm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the backport !

mridulm pushed a commit that referenced this pull request Mar 6, 2024
This pr backport #45327 to branch-3.5

### What changes were proposed in this pull request? Add TaskCompletionListener to close inputStream to avoid thread leakage caused by unclosed ReadAheadInputStream.

### Why are the changes needed?
To fix the issue SPARK-47146

### Does this PR introduce _any_ user-facing change?
No

### How was this patch tested?
Unit test

### Was this patch authored or co-authored using generative AI tooling?
No

Closes #45390 from JacobZheng0927/SPARK-47146-3.5.

Authored-by: JacobZheng0927 <zsh517559523@163.com>
Signed-off-by: Mridul Muralidharan <mridul<at>gmail.com>
mridulm pushed a commit that referenced this pull request Mar 6, 2024
This pr backport #45327 to branch-3.5

### What changes were proposed in this pull request? Add TaskCompletionListener to close inputStream to avoid thread leakage caused by unclosed ReadAheadInputStream.

### Why are the changes needed?
To fix the issue SPARK-47146

### Does this PR introduce _any_ user-facing change?
No

### How was this patch tested?
Unit test

### Was this patch authored or co-authored using generative AI tooling?
No

Closes #45390 from JacobZheng0927/SPARK-47146-3.5.

Authored-by: JacobZheng0927 <zsh517559523@163.com>
Signed-off-by: Mridul Muralidharan <mridul<at>gmail.com>
(cherry picked from commit e9f7d36)
Signed-off-by: Mridul Muralidharan <mridulatgmail.com>
@mridulm
Copy link
Contributor

mridulm commented Mar 6, 2024

Merged to branch-3.5 and branch-3.4
Thanks for fixing this @JacobZheng0927 !

@mridulm mridulm closed this Mar 6, 2024
snmvaughan pushed a commit to snmvaughan/spark that referenced this pull request Mar 26, 2024
This pr backport apache#45327 to branch-3.5

To fix the issue SPARK-47146

No

Unit test

No

Closes apache#45390 from JacobZheng0927/SPARK-47146-3.5.

Authored-by: JacobZheng0927 <zsh517559523@163.com>
Signed-off-by: Mridul Muralidharan <mridul<at>gmail.com>
(cherry picked from commit e9f7d36)
Signed-off-by: Mridul Muralidharan <mridulatgmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants