Comments (5)
Yeah that's a pretty straightforward case (covered by the tests, etc.), so it's odd that it'd fail. Some idiosyncrasy around Python and PySpark? Maybe just a latent weakref-related bug that's coming out because your data is bigger and more collections are happening.
Thanks for the report, and I'll take a closer look shortly!
from glom.
Best guess is pickling.
Because we store the path itself in a global weakref dict the default pickle behavior leaves it behind.
Need to check if we can override the behavior, or maybe rethink the design of having T instances be "empty".
from glom.
Thanks for looking. Pickling sounds likely. It also turns out it's failing on the first object that hits the worker.
from glom.
Pickle issue reproduced and ostensibly addressed in the commit above. T is pretty special, it definitely needs a smidge of special handling. Kurt and I pickle so little that it slipped our minds, but really who pickles directly these days? It's always these underlying libraries that put us in a sour state ;P
from glom.
To circle back, the fix for this was released v18.3.0 last night. Full changelog here: https://github.com/mahmoud/glom/blob/master/CHANGELOG.md
Thanks again for the report!
from glom.
Related Issues (20)
- glom.grouping is super useful actually HOT 1
- Inconsistent Delete Behavior HOT 5
- Extract nodes from json based on user input preserveing a portion of the higher level object as well HOT 1
- unprintable PathAccessError when using Scope/S
- Assign a target with an object which has a `__setattr__` which returns a callable produces a false positive for `glom.core._has_callable_glomit` HOT 4
- Feature Discussion: More granular `skip_exc` in `Coalesce` HOT 2
- Recurive wildcard produces a StopIteration exception when called on objects containing iterators HOT 2
- GitHub releases not updated for 23.1.0 and 23.1.1 HOT 2
- Scope usage changes from v22 to v23 HOT 7
- Question, how to pull items into an array in a spec? HOT 1
- Replace deprecated imp module with importlib HOT 2
- Traceback mismatch in a couple tests on 3.11+ HOT 8
- `skip` option for Coalesce doesn't seems to work HOT 2
- Inspect output is not clear HOT 1
- replicate logic with Switch HOT 2
- Missing assert in test_mutation.py HOT 1
- Missing assert in test_cli.py
- Enumerate and Assign HOT 2
- Recursive Delete-If-Empty? HOT 6
- Storing dict keys during traversal HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from glom.