Skip to content

Conversation

@dojiong
Copy link
Contributor

@dojiong dojiong commented Dec 15, 2025

Which issue does this PR close?

  • Closes #.

What changes are included in this PR?

This change ensures that delete manifests are processed before data manifests during the table scan planning phase.
Previously, if data manifests were processed first and produced enough entries to fill the channel, the producer would block. Since the delete manifest consumer might still be waiting for its entries (which hadn't been produced yet), this could lead to a deadlock. Prioritizing delete manifests ensures the delete consumer can proceed, allowing the data consumer to eventually drain the channel.

Are these changes tested?

Added a reproduction test case test_scan_deadlock to verify the fix.

Copy link
Contributor

@liurenjie1024 liurenjie1024 left a comment

Choose a reason for hiding this comment

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

Thanks @dojiong for this fix!

@liurenjie1024 liurenjie1024 merged commit 26a7606 into apache:main Dec 15, 2025
17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants