-
Notifications
You must be signed in to change notification settings - Fork 171
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
Implement Legacy Model Pickle Serialization #3271
Merged
phil-lopreiato
merged 9 commits into
the-blue-alliance:py3
from
phil-lopreiato:write-legacy-pickles
Jan 9, 2021
Merged
Implement Legacy Model Pickle Serialization #3271
phil-lopreiato
merged 9 commits into
the-blue-alliance:py3
from
phil-lopreiato:write-legacy-pickles
Jan 9, 2021
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Codecov Report
@@ Coverage Diff @@
## py3 #3271 +/- ##
==========================================
- Coverage 95.52% 94.65% -0.87%
==========================================
Files 371 375 +4
Lines 16899 17576 +677
==========================================
+ Hits 16143 16637 +494
- Misses 756 939 +183
Continue to review full report at Codecov.
|
phil-lopreiato
force-pushed
the
write-legacy-pickles
branch
from
January 9, 2021 01:41
10fb3f0
to
8399e84
Compare
phil-lopreiato
added a commit
that referenced
this pull request
Jan 24, 2021
This is the py2 component of #3271 The diff will let the legacy py2 app successfully read pickled data in `CachedQueryResult` that was written by the py3 app. The only thing we should need to fix on this side is the import paths where we changed the directory of models. I've tested this in the admin console, and added some tests that deserialize byte strings created by the py3 code This will need #3340 on the py3 side
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is the followup to #3234
It implements the write side, as well as some other bug fixes and cleanup. Also adds tests to assert that we can do a round trip serialize + deserialize and get the original value back.
This includes some of the serialization code from the legacy runtime, which maintains its original license. I made the basic modifications to port it to py3, and left links to where to find the original to make future debugging easier.
I also verified that I could take pickles generated by these unit tests and be able to deserialize them in the legacy app's console. After fixing imports, of course. Which we'll need to add to the py2 code anyway.
This gives