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

feat: allow merge_execute to release the GIL #2091

Merged
merged 3 commits into from
Jan 19, 2024

Conversation

emcake
Copy link
Contributor

@emcake emcake commented Jan 18, 2024

Description

This allows calls to merge_execute to release the GIL to allow other python threads to carry on in parallel.

I believe this is safe because every argument is a rust-marshaled type apart from source which is pyarrow-marshaled and C under the hood. All pyarrow types are immutable I believe, so by this point it should be safe to read with the GIL unlocked.

Related Issue(s)

it looks like there is a change in the works (PyO3/pyo3#3610) to allow this to be an attribute but it's not ready yet. For now it looks a little ugly putting it in the closure.

@github-actions github-actions bot added the binding/python Issues for the Python package label Jan 18, 2024
@rtyler rtyler enabled auto-merge (rebase) January 19, 2024 23:18
@rtyler rtyler merged commit 5d020d4 into delta-io:main Jan 19, 2024
23 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
binding/python Issues for the Python package
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants