-
Notifications
You must be signed in to change notification settings - Fork 525
fix: allow writing to DeltaTable objects across Python threads #3618
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
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #3618 +/- ##
==========================================
- Coverage 74.53% 74.50% -0.03%
==========================================
Files 146 146
Lines 44919 44919
Branches 44919 44919
==========================================
- Hits 33480 33467 -13
- Misses 9247 9251 +4
- Partials 2192 2201 +9 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
@rtyler nice stuff, didn't know about Frozen but makes total sense. The struct properties are only updated within rust and not python I don't think Polars allows the DataFrame to be references across a threadpoolexecutor, only processpoolexecutor with |
There is no cross thread dataframe access here, this is entirely about our DeltaTable :😕 |
The multi thread test is using a Polars Dataframe, but it causes this error:
|
I don't know why that was failing in CI, it didn't fail for me locally. A new run also hasn't failed 🤔 🤷 |
e6ecd74
to
0e559a0
Compare
FREEZE! Looks like we were _really_ close to full multi-threaded support before, and just needed to sprinkle a little macro magic on the pyclass definition. See [pyo3 docs](https://pyo3.rs/v0.23.0/class/thread-safety) Fixes delta-io#3594 Signed-off-by: R. Tyler Croy <[email protected]>
0e559a0
to
d41465c
Compare
FREEZE!
Looks like we were really close to full multi-threaded support before,
and just needed to sprinkle a little macro magic on the pyclass
definition.
See pyo3 docs
Fixes #3594