-
Notifications
You must be signed in to change notification settings - Fork 406
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
Regression in Python multiprocessing support #2744
Comments
@wjones127 do you have any idea's why this could happen? Oncelock should be thread safe |
Are you using |
Good question. We are using |
I would definitely feel more comfortable if the default behaviour (
I think this can be worked around and previously was worked around by creating new runtimes in new processes. What do you think of this monstrosity? It would allow plenty of
|
If that fixes it, I think that would be very cool. I think for simplicity you could probably just make it a |
I don't really understand why, but my attempt above still deadlocks after a couple of layers of recursive From reading tokio-rs/tokio#4301 it sounds like there is probably no solution that is completely safe with |
I implemented #2765 as my proposed solution. |
Thanks for trying @Tom-Newton. 👍 |
Thanks for the help and the reviews everyone 🙂. |
Environment
Delta-rs version: 0.18.2
Binding: Python
Environment:
Bug
What happened: Just upgraded
deltalake
for the first time in a while and we are now getting a deadlock when initialising adeltalake.DeltaTable
object when using Pythonmultiprocessing
. Sometimes it just hangs and sometimes the OS kills it.full_log.txt
What you expected to happen:
DeltaTable
should initialise successfully regardless ofmultiprocessing
.How to reproduce it:
Note, to reproduce we must use
deltalake.DeltaTable
once then use it again in a child python process usingmultiprocessing
.More details: I have done a
git bisect
and identified that #2424 is the cause.The text was updated successfully, but these errors were encountered: