Pickle format upgrade (2 -> 4) in FilesDB#236
Conversation
dd3d7ca to
9904448
Compare
|
So, after looking more into this and thinking about it for a while, I'm really not sure what we actually gain from this. It doesn't change the default behavior. That variable already wasn't used for anything else like logging. |
The gain is the explicitness about what pickle protocol is used in My proposal is to make this the lzma_mt "baseline" that gets used by eopkg and ypkg until the rest of the optimisations/simplifications (py-lmdb, fetcher, multiprocessing) are landed. The development + deployment plan I am proposing is here: https://gist.github.com/ermo/6da8178a1d678b5c5b31c1a5b86829bb |
9904448 to
c120c38
Compare
It really doesn't, though. It's still just going to use the default version. The change literally does nothing vs not having it. |
No need to be stuck on the py2-compatible version 2 pickle format, now that the codebase is py3-only in Polaris.
c120c38 to
e2c3c0c
Compare
The commits touching the lazydb stuff have been dropped. The lazydb stuff was only about making the version explicit. In the present PR, Note also that, in Joey's benchmarks,
If you search for
... and because it is managed by a context manager, that's the version that gets written as well. |

Summary
The goal of this PR is to ensure that the pickle format variable for the filesdb shelve is now
set to upstream
pickle.DEFAULT_PROTOCOL, such that no refactoring is required fordebugging output.
This makes it upstream's responsibility to ensure pickle format compatibility.
Test Plan
pickle.DEFAULT_PROTOCOLvalue):